想要面试 BATJ,先做完这 160 道 Java 面试题 ~

1、面向对象的特征有哪些方面?

2、访问修饰符 public,private,protected, 以及不写(默认)时的区别?

3、String 是最基本的数据类型吗?

4、float f=3.4; 是否正确?

5、short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1; 有错吗?

6、Java 有没有 goto?

7、int 和 Integer 有什么区别?

8、& 和 && 的区别?

9、解释内存中的栈 (stack)、堆(heap) 和静态区 (static area) 的用法。

10、Math.round(11.5) 等于多少?Math.round(-11.5) 等于多少?

11、switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?

12、用最有效率的方法计算 2 乘以 8?

13、数组有没有 length()方法?String 有没有 length() 方法?

14、在 Java 中,如何跳出当前的多重嵌套循环?

15、构造器(constructor)是否可被重写(override)?

16、两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对?

17、是否可以继承 String 类?

18、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

19、String 和 StringBuilder、StringBuffer 的区别?

20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

21、描述一下 JVM 加载 class 文件的原理机制?

22、char 型变量中能不能存贮一个中文汉字,为什么?

23、抽象类(abstract class)和接口(interface)有什么异同?

24、静态嵌套类 (Static Nested Class) 和内部类(Inner Class)的不同?

25、Java 中会存在内存泄漏吗,请简单描述。

26、抽象的(abstract)方法是否可同时是静态的(static), 是否可同时是本地方法(native),是否可同时被 synchronized 修饰?

27、阐述静态变量和实例变量的区别。

28、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

29、如何实现对象克隆?

30、String s = new String(“xyz”); 创建了几个字符串对象?

31、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

32、一个 ".java" 源文件中是否可以包含多个类(不是内部类)?有什么限制?

33、Anonymous Inner Class(匿名内部类) 是否可以继承其它类?是否可以实现接口?

34、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

35、Java 中的 final 关键字有哪些用法?

36、数据类型之间的转换:

37、如何实现字符串的反转及替换?

38、怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?

39、日期和时间:

40、打印昨天的当前时刻。

41、比较一下 Java 和 JavaSciprt。

42、什么时候用断言(assert)?

43、Error 和 Exception 有什么区别?

44、try{} 里有一个 return 语句,那么紧跟在这个 try 后的 finally{} 里的代码会不会被执行,什么时候被执行,在 return 前还是后?

45、Java 语言如何进行异常处理,关键字:throws、throw、try、catch、finally 分别如何使用?

46、运行时异常与受检异常有何异同?

47、列出一些你常见的运行时异常?

48、阐述 final、finally、finalize 的区别。

49、类 ExampleA 继承 Exception,类 ExampleB 继承 ExampleA。

请问执行此段代码的输出是什么?

50、List、Set、Map 是否继承自 Collection 接口?

51、阐述 ArrayList、Vector、LinkedList 的存储性能和特性。

52、Collection 和 Collections 的区别?

53、List、Map、Set 三个接口存取元素时,各有什么特点?

54、TreeMap 和 TreeSet 在排序时如何比较元素?Collections 工具类中的 sort() 方法如何比较元素?

55、Thread 类的 sleep()方法和对象的 wait() 方法都可以让线程暂停执行,它们有什么区别?

56、线程的 sleep()方法和 yield() 方法有什么区别?

57、当一个线程进入一个对象的 synchronized 方法 A 之后,其它线程是否可进入此对象的 synchronized 方法 B?

58、请说出与线程同步以及线程调度相关的方法。

59、编写多线程程序有几种实现方式?

60、synchronized 关键字的用法?

温馨提示:面试专业交流群    685167672

61、举例说明同步和异步。

62、启动一个线程是调用 run()还是 start() 方法?

63、什么是线程池(thread pool)?

64、线程的基本状态以及状态之间的关系?

65、简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?

66、Java 中如何实现序列化,有什么意义?

67、Java 中有几种类型的流?

68、写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。

69、如何用 Java 代码列出一个目录下所有的文件?

70、用 Java 的套接字编程实现一个多线程的回显(echo)服务器。

71、XML 文档定义有几种形式?它们之间有何本质区别?解析 XML 文档有哪几种方式?

72、你在项目中哪些地方用到了 XML?

73、阐述 JDBC 操作数据库的步骤。

74、Statement 和 PreparedStatement 有什么区别?哪个性能更好?

75、使用 JDBC 操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?

76、在进行数据库编程时,连接池有什么作用?

77、什么是 DAO 模式?

78、事务的 ACID 是指什么?

79、JDBC 中如何进行事务处理?

80、JDBC 能否处理 Blob 和 Clob?

81、简述正则表达式及其用途。

82、Java 中是如何支持正则表达式操作的?

83、获得一个类的类对象有哪些方式?

84、如何通过反射创建对象?

85、如何通过反射获取和设置对象私有字段的值?

86、如何通过反射调用对象的方法?

87、简述一下面向对象的 "六原则一法则"。

88、简述一下你了解的设计模式。

89、用 Java 写一个单例类。

90、什么是 UML?

91、UML 中有哪些常用的图?

92、用 Java 写一个冒泡排序。

93、用 Java 写一个折半查找。

94、阐述 Servlet 和 CGI 的区别?

95、Servlet 接口中有哪些方法?

96、转发(forward)和重定向(redirect)的区别?

97、JSP 有哪些内置对象?作用分别是什么?

98、get 和 post 请求的区别?

99、常用的 Web 服务器有哪些?

100、JSP 和 Servlet 是什么关系?

温馨提示:面试专业交流群   685167672

101、讲解 JSP 中的四种作用域。

102、如何实现 JSP 或 Servlet 的单线程模式?

103、实现会话跟踪的技术有哪些?

104、过滤器有哪些作用和用法?

105、监听器有哪些作用和用法?

106、web.xml 文件中可以配置哪些内容?

107、你的项目中使用过哪些 JSTL 标签?

108、使用标签库有什么好处?如何自定义 JSP 标签?

109、说一下表达式语言(EL)的隐式对象及其作用。

110、表达式语言(EL)支持哪些运算符?

111、Java Web 开发的 Model 1 和 Model 2 分别指的是什么?

112、Servlet 3 中的异步处理指的是什么?

113、如何在基于 Java 的 Web 项目中实现文件上传和下载?

114、服务器收到用户提交的表单数据,到底是调用 Servlet 的 doGet()还是 doPost() 方法?

115、JSP 中的静态包含和动态包含有什么区别?

116、Servlet 中如何获取用户提交的查询参数或表单数据?

117、Servlet 中如何获取用户配置的初始化参数以及服务器上下文参数?

118、如何设置请求的编码以及响应内容的类型?

119、解释一下网络应用的模式及其特点。

120、什么是 Web Service(Web 服务)?

121、概念解释:SOAP、WSDL、UDDI。

122、Java 规范中和 Web Service 相关的规范有哪些?

123、介绍一下你了解的 Java 领域的 Web Service 框架。

124、什么是 ORM?

125、持久层设计要考虑的问题有哪些?你用过的持久层框架有哪些?

126、Hibernate 中 SessionFactory 是线程安全的吗?Session 是线程安全的吗(两个线程能够共享同一个 Session 吗)?

127、Hibernate 中 Session 的 load 和 get 方法的区别是什么?

128、Session 的 save()、update()、merge()、lock()、saveOrUpdate()和 persist() 方法分别是做什么的?有什么区别?

129、阐述 Session 加载实体对象的过程。

130、Query 接口的 list 方法和 iterate 方法有什么区别?

131、Hibernate 如何实现分页查询?

132、锁机制有什么用?简述 Hibernate 的悲观锁和乐观锁机制。

133、阐述实体对象的三种状态以及转换关系。

134、如何理解 Hibernate 的延迟加载机制?在实际应用中,延迟加载与 Session 关闭的矛盾是如何处理的?

135、举一个多对多关联的例子,并说明如何实现多对多关联映射。

136、谈一下你对继承映射的理解。

137、简述 Hibernate 常见优化策略。

138、谈一谈 Hibernate 的一级缓存、二级缓存和查询缓存。

139、Hibernate 中 DetachedCriteria 类是做什么的?

140、@OneToMany 注解的 mappedBy 属性有什么作用?

141、MyBatis 中使用#$书写占位符有什么区别?

142、解释一下 MyBatis 中命名空间(namespace)的作用。

143、MyBatis 中的动态 SQL 是什么意思?

144、什么是 IoC 和 DI?DI 是如何实现的?

145、Spring 中 Bean 的作用域有哪些?

146、解释一下什么叫 AOP(面向切面编程)?

147、你是如何理解 "横切关注" 这个概念的?

148、你如何理解 AOP 中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)这些概念?

149、Spring 中自动装配的方式有哪些?

150、Spring 中如何使用注解来配置 Bean?有哪些相关的注解?

151、Spring 支持的事务管理类型有哪些?你在项目中使用哪种方式?

152、如何在 Web 项目中配置 Spring 的 IoC 容器?

153、如何在 Web 项目中配置 Spring MVC?

154、Spring MVC 的工作原理是怎样的?

155、如何在 Spring IoC 容器中配置数据源?

156、如何配置配置事务增强?

157、选择使用 Spring 框架的原因(Spring 框架为企业级开发带来的好处有哪些)?

158、Spring IoC 容器配置 Bean 的方式?

159、阐述 Spring 框架中 Bean 的生命周期?

160、依赖注入时如何注入集合属性?