JAVA 面试题汇总
目录
目录
? 概念题 --------------------------------------------------------------------------------------------------------- 1
一、
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25) 26) 27) 28) 29) 30) 31) 32) 33) 34) 35)
JAVA基础 ---------------------------------------------------------------------------------------------- 1
面向对象的特征 ------------------------------------------------------------------------------------------------------------------1 什么是OOP?什么是类?请对比类和对象实例之间的关系。 --------------------------------------------------1 简述类与对象的概念 -----------------------------------------------------------------------------------------------------------2 什么是属性与方法? -----------------------------------------------------------------------------------------------------------2 什么是封装? ---------------------------------------------------------------------------------------------------------------------2 描述一下JVM加载class文件的原理机制-------------------------------------------------------------------------------2 Java程序怎么优化?------------------------------------------------------------------------------------------------------------2 一个\源文件中是否可以包括多个类(不是内部类)?有什么限制? --------------------------------2 char型变量中能不能存贮一个中文汉字---------------------------------------------------------------------------------3 逻辑操作符 (&,|,^)与条件操作符(&&,||)的区别 ------------------------------------------------------------------3 Math.round(11.5)等於多少? Math.round(-11.5)等於多少? ----------------------------------------------------3 Java有没有goto? -----------------------------------------------------------------------------------------------------------3 int 和 Integer 的区别 ------------------------------------------------------------------------------------------------------3 如何将数值型字符转换为数字?如何去小数四舍五入保留小数点后两位。 ---------------------------3 short s1 = 1; s1 = s1 + 1;和short s1 = 1; s1 += 1;有什么错误 -----------------------------------------------------3 float f=3.4是否正确? --------------------------------------------------------------------------------------------------------4 String 和StringBuffer的区别 ---------------------------------------------------------------------------------------------4 String是否是最基本的数据类型,能否被继承 --------------------------------------------------------------------4 String s = new String(\创建了几个String Object? ----------------------------------------------------------4 数组有没有length()这个方法? String有没有length()这个方法? -------------------------------------------4 排序都有哪几种方法?用JAVA实现一个快速排序 --------------------------------------------------------------4 swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上 -----------------------5 在JAVA中,如何跳出当前的多重嵌套循环? ---------------------------------------------------------------------5 关于日期和时间的几个问题 ----------------------------------------------------------------------------------------------5 一个对象被当作参数传递到一个方法,是值传递还是引用传递 --------------------------------------------5 什么时候用assert? ---------------------------------------------------------------------------------------------------------5 GC是什么? 为什么要有GC? -------------------------------------------------------------------------------------------5 垃圾回收的优点和原理-----------------------------------------------------------------------------------------------------5 垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? --------------------6 java中会存在内存泄漏吗,请简单描述------------------------------------------------------------------------------6 java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,他们分别是哪些文件和目录(I/O)操作----------------------------------------------------------------------------------------------------6 什么是java序列化?如何实现java序列化?----------------------------------------------------------------------7 JAVA事件委托机制的概念-------------------------------------------------------------------------------------------------7 谈谈你对Swing的MVC模式的理解? -------------------------------------------------------------------------------7
类? 6
~ I ~
JAVA 面试题汇总
目录
36) MVC结构在JTable中怎样实现的,这种结构有什么好处? --------------------------------------------------8
二、
37) 38) 39) 40) 41) 42) 43) 44) 45) 46) 47) 48) 49) 50) 51) 52) 53)
类与继承 ----------------------------------------------------------------------------------------------- 9
说出一些常用的类,包,接口,请各举5个 ----------------------------------------------------------------------9 接口有什么优点? -----------------------------------------------------------------------------------------------------------9 静态变量和实例变量的区别 ----------------------------------------------------------------------------------------------9 是否可以从一个static方法内部发出对非static方法的调用? ----------------------------------------------9 java 有几种修饰符?分别用来修饰什么? -------------------------------------------------------------------------9 作用域public,private,protected,以及不写时的区别 ------------------------------------------------------------- 10 final, finally, finalize的区别 ---------------------------------------------------------------------------------------------- 10 内部类可以引用他包含类的成员吗?有没有什么限制? ---------------------------------------------------- 10 匿名内部类是否可以继承其它类?是否可以实现接口? ---------------------------------------------------- 10 java中实现多态的机制是什么?-------------------------------------------------------------------------------------- 11 Overload和Override的区别,Overloaded的方法能否改变返回值的类型?-------------------------- 11 abstract class和interface的区别 -------------------------------------------------------------------------------------- 11 接口是否可继承接口? 抽象类是否可实现接口? 抽象类是否可继承实体类? ------------------------ 11 abstract的method是否可同时是static或native或synchronized? ------------------------------------- 11 构造器Constructor是否可被override------------------------------------------------------------------------------- 11 写clone()方法时,通常都有一行代码,是什么?-------------------------------------------------------------- 12 Object类的概述 ------------------------------------------------------------------------------------------------------------- 12
三、
54) 55) 56) 57) 58) 59)
异常 --------------------------------------------------------------------------------------------------- 13
Java中的异常处理机制的简单原理和应用。--------------------------------------------------------------------- 13 JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在tryerror和exception的区别 ------------------------------------------------------------------------------------------------ 13 运行时异常与一般异常的区别----------------------------------------------------------------------------------------- 14 给我一个你最常见到的runtime exception(运行时异常) ------------------------------------------------------ 14 try 里有一个return语句,那finally 里的代码会不会被执行?在return前还是后执行? ----- 14
块中可以抛出异常吗? ------------------------------------------------------------------------------------------------------------- 13
四、
60) 61) 62) 63) 64) 65) 66) 67) 68) 69) 70)
集合 --------------------------------------------------------------------------------------------------- 15
集合类都有哪些------------------------------------------------------------------------------------------------------------- 15 介绍JAVA中的Collection FrameWork ------------------------------------------------------------------------------- 15 ArrayList和Vector的区别 ----------------------------------------------------------------------------------------------- 15 HashMap和Hashtable的区别------------------------------------------------------------------------------------------ 15 Collection 和 Collections的区别 -------------------------------------------------------------------------------------- 16 说出ArrayList,Vector, LinkedList的存储性能和特性 ------------------------------------------------------------- 16 heap和stack的区别 ------------------------------------------------------------------------------------------------------ 16 List, Set, Map是否继承自Collection接口? ----------------------------------------------------------------------- 16 List, Set, Map三个接口,存取元素时,各有什么特点? ----------------------------------------------------- 16 Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对 ----------------- 17
何区别? --------------------------------------------------------------------------------------------------------------------------------- 17
五、 多线程 ------------------------------------------------------------------------------------------------ 18
~ II ~
JAVA 面试题汇总
目录
71) 72) 73) 74) 75) 76) 77) 78) 79) 80)
启动一个线程是用run()还是start()?------------------------------------------------------------------------------- 18 sleep() 和 wait() 的区别------------------------------------------------------------------------------------------------- 18 stop()和suspend()方法为何不推荐使用? ------------------------------------------------------------------------- 18 同步和异步有何异同,在什么情况下分别使用他们----------------------------------------------------------- 18 当一线程进入一对象的一个synchronized方法后,其它线程可否进入此对象的其它方法 ------ 18 线程同步的方法------------------------------------------------------------------------------------------------------------- 19 多线程有几种实现方法--------------------------------------------------------------------------------------------------- 19 线程的基本概念、线程的基本状态以及状态之间的关系 ---------------------------------------------------- 19 简述synchronized和java.util.concurrent.locks.Lock的异同 -------------------------------------------------- 19 多线程的优点 ---------------------------------------------------------------------------------------------------------------- 19
六、
81) 82) 83) 84) 85) 86) 87) 88) 89) 90) 91) 92) 93) 94) 95)
JDBC及数据库相关 -------------------------------------------------------------------------------- 21
Class.forName的作用?为什么要用? ---------------------------------------------------------------------------------- 21 JDBC调用数据库的基本步骤 ------------------------------------------------------------------------------------------- 21 说出数据连接池的工作机制是什么?------------------------------------------------------------------------------- 21 JDO是什么? ------------------------------------------------------------------------------------------------------------------ 21 动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查询? -------- 21 如何优化数据库,如何提高数据库的性能?--------------------------------------------------------------------- 21 设计数据库应注意那些问题 -------------------------------------------------------------------------------------------- 22 表与表之间的关联关系--------------------------------------------------------------------------------------------------- 22 主键和外键的区别 --------------------------------------------------------------------------------------------------------- 22 名词解释:批、触发器、事务、锁、子查询、索引、视图、存储过程 -------------------------------- 22 游标的作用?如何知道游标已经到了最后?--------------------------------------------------------------------- 23 事前触发和事后触发有何区别?语句级触发和行级触发有何区别? ----------------------------------- 23 数据库设计的必要性及设计步骤 ------------------------------------------------------------------------------------- 24 什么是数据模型?什么是规范化? ---------------------------------------------------------------------------------- 24 谈谈数据库设计的三范式 ----------------------------------------------------------------------------------------------- 24
七、
96) 97) 98) 99) 100) 101) 102) 103) 104) 105) 106) 107) 108) 109)
JSP和Servlet ---------------------------------------------------------------------------------------- 25
forward 和sendRedirect的区别 --------------------------------------------------------------------------------------- 25 JSP中动态INCLUDE与静态INCLUDE的区别---------------------------------------------------------------------- 25 JSP的内置对象及方法 ---------------------------------------------------------------------------------------------------- 25 JSP的常用指令 -------------------------------------------------------------------------------------------------------------- 25 说出Servlet的生命周期,并说出Servlet和CGI的区别 ----------------------------------------------------- 26 什么情况下调用doGet()和doPost() ---------------------------------------------------------------------------------- 26 如何现实servlet的单线程模式---------------------------------------------------------------------------------------- 26 描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理 ------------------------- 26 页面间对象传递的方法--------------------------------------------------------------------------------------------------- 27 JSP和Servlet有哪些相同点和不同点,他们之间的联系 ---------------------------------------------------- 27 四种会话跟踪技术 --------------------------------------------------------------------------------------------------------- 27 Request对象的主要方法 ------------------------------------------------------------------------------------------------- 27 Servlet执行时一般实现哪几个方法---------------------------------------------------------------------------------- 28 说出在JSP页面里是怎么分页的? ------------------------------------------------------------------------------------ 28
~ III ~
JAVA 面试题汇总
目录
八、
110) 111) 112) 113) 114) 115) 116)
J2EE基础--------------------------------------------------------------------------------------------- 29
J2EE是什么?---------------------------------------------------------------------------------------------------------------- 29 J2EE中常用的名词解释 -------------------------------------------------------------------------------------------------- 29 名词解释:WEB SERVICE、JAXP、JAXM、SOAP、UDDI、WSDL -------------------------------------------- 30 J2EE是技术还是平台还是框架? ------------------------------------------------------------------------------------- 30 XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?----------- 30 你在项目中用到了xml技术的哪些方面?如何实现的?-------------------------------------------------------- 31 j2ee常用的设计模式?说明工厂模式------------------------------------------------------------------------------- 31
九、
117) 118) 119) 120)
STRUTS ----------------------------------------------------------------------------------------------- 32
MVC的各个部分都有那些技术来实现?如何实现? ------------------------------------------------------------- 32 概述struts,以及struts如何实现MVC架构的? -------------------------------------------------------------- 32 简单描述STRUTS的主要功能 ------------------------------------------------------------------------------------------ 32 Struts的处理流程 ---------------------------------------------------------------------------------------------------------- 32
十、
121) 122) 123) 124) 125) 126) 127) 128) 129) 130) 131) 132) 133)
EJB----------------------------------------------------------------------------------------------------- 34
EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? ---------------------------------------- 34 EJB与JAVA BEAN的区别? --------------------------------------------------------------------------------------------- 34 EJB是基于哪些技术实现的?并说出SessionBean和EntityBean,StatefulBean和StatelessBeanEJB包括SessionBean和EntityBean,说出他们的生命周期,及如何管理事务的? ---------------- 35 EJB的角色和三个对象 ---------------------------------------------------------------------------------------------------- 35 EJB容器提供的服务 ------------------------------------------------------------------------------------------------------- 35 EJB规范规定EJB中禁止的操作有哪些?-------------------------------------------------------------------------- 35 remote接口和home接口主要作用---------------------------------------------------------------------------------- 36 bean 实例的生命周期 ---------------------------------------------------------------------------------------------------- 36 EJB的激活机制 -------------------------------------------------------------------------------------------------------------- 36 EJB的几种类型 -------------------------------------------------------------------------------------------------------------- 36 客服端调用EJB对象的几个基本步骤 ------------------------------------------------------------------------------- 36 EJB需直接实现它的业务接口或Home接口吗,请简述理由----------------------------------------------- 36
的区别 34
十一、
134) 135) 136) 137) 138) 139) 140) 141) 142) 143)
应用服务器 --------------------------------------------------------------------------------------- 37
应用服务器有那些? ------------------------------------------------------------------------------------------------------ 37 应用服务器与WEB 服务器的区别?-------------------------------------------------------------------------------- 37 如何给weblogic指定大小的内存? ----------------------------------------------------------------------------------- 37 如何设定的weblogic的热启动模式(开发模式)与产品发布模式? ----------------------------------------- 37 如何启动时不需输入用户名与密码? -------------------------------------------------------------------------------- 37 在weblogic管理制台中对一个应用域进行jms及ejb或连接池等相关信息进行配置后,实际保存说说weblogic中一个Domain的缺省目录结构 ------------------------------------------------------------------ 37 在weblogic中发布ejb需涉及到哪些配置文件------------------------------------------------------------------ 37 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 --------- 38 如何查看在weblogic中已经发布的EJB?--------------------------------------------------------------------------- 38
在什么文件中? ------------------------------------------------------------------------------------------------------------------------- 37
? 改错题 ------------------------------------------------------------------------------------------------------- 39
~ IV ~
JAVA 面试题汇总
目录
1)-------------------------------------------------------------------------------------------------------------------------------------------- 39 2)-------------------------------------------------------------------------------------------------------------------------------------------- 39 3)-------------------------------------------------------------------------------------------------------------------------------------------- 39 4)-------------------------------------------------------------------------------------------------------------------------------------------- 39 5)-------------------------------------------------------------------------------------------------------------------------------------------- 40 6)-------------------------------------------------------------------------------------------------------------------------------------------- 40 7)-------------------------------------------------------------------------------------------------------------------------------------------- 40 8)-------------------------------------------------------------------------------------------------------------------------------------------- 41 9)-------------------------------------------------------------------------------------------------------------------------------------------- 41 10) ------------------------------------------------------------------------------------------------------------------------------------------ 41 11) ------------------------------------------------------------------------------------------------------------------------------------------ 42
? 编程题 ------------------------------------------------------------------------------------------------------- 44
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11)
在控制台中输入一个字符串,然后按照逆序打印出来----------------------------------------------------------- 44 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 ----- 44 将一个键盘输入的数字转化成中文输出(例如:输入1234567,输出:一百二拾三万四千五百六拾七),写一个Singleton出来 -------------------------------------------------------------------------------------------------------- 49 我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? --------------------------------------- 51 同上,关于内部类的实现方式 -------------------------------------------------------------------------------------------- 52 关于内部类实现的一道选择题 -------------------------------------------------------------------------------------------- 53 用JAVA实现一种排序 ---------------------------------------------------------------------------------------------------- 53 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但
请用java语言编一段程序实现!-------------------------------------------------------------------------------------------------- 45
编码的字符串 -------------------------------------------------------------------------------------------------------------------------- 50 什么排序,结果为,提供reset -------------------------------------------------------------------------------------------------- 50
是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。-------------------------------------------------------------------------------- 55 12) 13) 14) 15) 16)
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示 ---------------------------------------------- 56 写一段Jdbc连Oracle的程序,并实现数据查询. ----------------------------------------------------------------- 58 ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。 ------------ 59 用JAVA解析XML的方式. ----------------------------------------------------------------------------------------------- 61 用jdom解析xml文件时如何解决中文问题?如何解析?------------------------------------------------------ 63
? 其它----------------------------------------------------------------------------------------------------------- 65
1)
描述一下你最常用的编程风格。----------------------------------------------------------------------------------------- 65
~ V ~