第 1 章 Java 基本概念
- Java 语言的优点?
- 什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
- Java 和 C++ 有何区别?
- JDK 和 JRE 的区别是什么?
- Java 支持的数据类型有哪些?什么是自动拆装箱?
- 什么是值传递和引用传递?
- 一个 ".java" 源文件中是否可以包括多个类(不是内部类)?有什么限制?
- 静态变量和实例变量的区别?
- 不通过构造函数也能创建对象吗?
- 静态变量和实例变量的区别?
- 是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
- 如何实现对象克隆?
- 一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
- Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?
- 内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
- 列出自己常用的 jdk 包
- JDK, JRE 和 JVM 的区别?
第 2 章 面向对象编程
- Java 中的方法覆盖 (Overriding) 和方法重载 (Overloading) 是什么意思?
- Overload 和 Override 的区别? Overloaded 的方法是否可以改变返回值的类型?
- Java 中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?
- 构造器 Constructor 是否可被 Override?
- Java 支持多继承么?
- 接口和抽象类的区别是什么?
- 下列说法正确的有()
- Java 接口的修饰符可以为?
- 下面是 People 和 Child 类的定义和构造方法,每个构造方法都输出编号。在执行 new Chil d("mike") 的时候都有哪些构造方法被顺序调用?请选择输出结果
- 构造器(constructor)是否可被重写(override)?
- 两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
- 接口是否可继承(extends)接口? 抽象类是否可实现(implements)接口? 抽象类是否可继 承具体类(concrete class)?
- 指出下面程序的运行结果:
- Class.forName(String className)这个方法的作用
- 什么是 AOP 和 OOP,IOC 和 DI 有什么不同?
- 判断下列语句是否正确,如果有错误,请指出错误所在?
第 3 章 关键字
- ”static” 关键字是什么意思?Java 中是否可以覆盖(override) 一个 private 或者是 static 的 方法?
- 是否可以在 static 环境中访问非 static 变量?
- 访问修饰符 public, private, protected, 以及不写(默认)时的区别?
- volatile关键字是否能保证线程安全?
- Java 有没有 goto?
- Java 中的 final关键字有哪些用法?
- 什么时候用 assert?
- final, finally, finalize 的区别?
第 4 章 基本类型与运算
- 说说 & 和 && 的区别。
- 用最有效率的方法算出 2 乘以 8 等於几?
- 存在使 i + 1 < i的数吗?
- 0.6332 的数据类型是()
- System.out.println("5" + 2);的输出结果应该是()
- 下面的方法,当输入为 2 的时候返回值是多少?
- float f=3.4;是否正确?
- int 和 Integer 有什么区别?
- char 型变量中能不能存贮一个中文汉字?为什么?
- Math.round(11.5) 等于多少? Math.round(-11.5)等于多少?
第 5 章 字符串与数组
- 下面程序的运行结果是()
- 下面代码的运行结果为?
- String 是最基本的数据类型吗?
- 数组有没有 length() 方法? String 有没有 length() 方法?
- 是否可以继承 String 类?
- String 和StringBuilder、StringBuffer 的区别?
- String s=new String(“xyz”);创建了几个字符串对象?
- 将字符 “12345” 转换成 long 型
- 为了显示 myStr = 23 这样的结果,写出在控制台输入的命令
- String s = "Hello";s = s + " world!”; 这两行代码执行后,原始的 String 对象中的内容到底变 了没有?
- 如何把一段逗号分割的字符串转换成一个数组?
- 下面这条语句一共创建了多少个对象: String s=“a”+”b”+”c”+”d”;
- String 和 StringBuffer 的区别?
- String, StringBuffer StringBuilder的区别。
第 6 章 输入输出流
- 下面哪个流类属于面向字符的输入流?
- 阅读 Shape 和 Circle 两个类的定义。在序列化一个 Circle 的对象 circle 到文件时,下面哪个 字段会被保存到文件中?
- 什么是 Java 序列化,如何实现 Java 序列化?
第 7 章 集合类
- 下列说法正确的是()
- ArrayList list = new ArrayList(20);中的 list 扩充几次?
- Java集合类框架的基本接口有哪些?
- 为什么集合类没有实现 Cloneable 和 Serializable 接口?
- 什么是迭代器(Iterator)?
- Iterator和ListIterator的区别是什么?
- 快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
- Java 中的 HashMap 的工作原理是什么?
- hashCode() 和 equals() 方法的重要性体现在什么地方?
- HashMap 和 Hashtable 有什么区别?
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用 Array 而不是 ArrayList?
- ArrayList 和 LinkedList 有什么区别?
- Comparable 和Comparator 接口是干什么的?列出它们的区别。
- Java集合类框架的最佳实践有哪些?
- Enumeration 接口和 Iterator 接口的区别有哪些?
- HashSet 和 TreeSet 有什么区别?
- List、Set、Map 是否继承自 Collection 接口?
- 说出 ArrayList、Vector、LinkedList 的存储性能和特性?
- List、Map、Set 三个接口存储元素时各有什么特点?
- 判断下列语句是否正确,如果有错误,请指出错误所在?
- 你是怎么理解 Java 泛型的?
第 8 章 Java 平台与内存管理
- GC线程是否为守护线程?()
- 解释内存中的栈(stack)、堆(heap)和静态存储区的用法。
- Java 中会存在内存泄漏吗,请简单描述。
- GC 是什么?为什么要有 GC?
- 第 3 行中生成的 object在第几行执行后成为 garbage collection 的对象?
- 描述一下 JVM 加载 class 文件的原理机制?
第 9 章 异常处理
- 下面关于java.lang.Exception类的说法正确的是()
- 扩展:错误和异常的区别(Error vs Exception)
- getCustomerInfo() 方法如下,try 中可以捕获三种类型的异常,如果在该方法运行中产生了一 个 IOException,将会输出什么结果?
- try{} 里有一个 return 语句,那么紧跟在这个 try 后的 finally{} 里的 code 会不会被执行,什么 时候被执行,在 return 前还是后?
- Java 语言如何进行异常处理,关键字:throws、throw、try、catch、finally 分别如何使
用? - 运行时异常与受检异常有何异同?
- 请写出 5 种常见到的runtime exception。
- error 和 exception 有什么区别?
第 10 章 XML
- XML 包括哪些解释技术,区别是什么?
- XML 文档定义有几种形式?它们之间有何本质区别?解析XML 文档有哪几种方式?
- 你在项目中哪些地方用到了 XML?
- 谈谈对 XML 的理解?说明 Web 应用中 Web.xml 文件的作用?
- XML 是一种元语言, 可以用它来描述其他语言。
- 在 XML 中用于注释的符号是。(选择1项)
- DTD 与 XML Schema 都是XML文档。(选择1项)
第 11 章 Java 多线程
- 下面哪些是Thread类的方法?
- 下面程序的运行结果?
- 进程和线程的区别是什么?
- 创建线程有几种不同的方式?你喜欢哪一种?为什么?
- 概括的解释下线程的几种可用状态。
- 同步方法和同步代码块的区别是什么?
- 在监视器(Monitor)内部,是如何做线程同步的?程序应该做哪种级别的同步?
- 什么是死锁(deadlock)?
- 如何确保 N 个线程可以访问 N 个资源同时又不导致死锁?
- sleep() 和 wait() 有什么区别?
- sleep() 和 yield() 有什么区别?
- 当一个线程进入一个对象的 synchronized 方法 A 之后,其它线程是否可进入此对象的 synch ronized 方法?
- 请说出与线程同步相关的方法。
- synchronized 关键字的用法?
- 举例说明同步和异步。
- 启动一个线程是用 run() 还是 start() 方法?
- 什么是线程池(thread pool)?
- 线程的基本状态以及状态之间的关系?
- 死锁的必要条件?怎么克服?
第 12 章 JDBC 与数据库
- 下列属于关系型数据库的是()
- 在进行数据库编程时,连接池有什么作用?
- 什么是 DAO 模式?
- 什么是ORM?
- JDBC 中如何进行事务处理?
- 事务的 ACID 是指什么?
- 使用 JDBC 操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?
- 存储过程和函数的区别
- 你认为在表上建立索引可以提高数据库系统的效率吗,为什么?
- 什么是数据库的参照完整性?
- 如何优化数据库,如何提高数据库的性能?
第 13 章 Servlet 与 JSP
- JSP 有哪些内置对象和动作?它们的作用分别是什么?
- 描述 JSP 和 Servlet 的区别、共同点、各自应用的范围
- 从以下哪一个选项中可以获得 Servlet的 初始化参数?
- 哪一个对象可以用于获得浏览器发送的请求?
- 运行 jsp 需要安装_______Web 服务器。
- 在服务器的网络编程中,解决会话跟踪的方法有
- 与 HttpSessionListener 接口有关的方法是
- 关于 JSP 生命周期的叙述,下列哪些为真?
- 以下声明正确的是?
- 下列哪个为 JSP 的隐含对象?
- 下面的那一个不属于 MVC 模式中的对象?
- 在 Servlet 处理请求的方式为。(选择1项)
- javax.Servlet 的包中,属于类的是。(选择1项)
- Http 缺省的请求方法是。(选择1项)
- 实现现下列哪一种接口的对象,并不需要在 web.xml 文件内进行额外的设定,Servlet 容器就 能够回应该对象加入 HTTP 会话所发生的事件?(选择1项)
- 下列哪个为 JSP 的小脚本的标签?(选择1项)
- 以下不属于 JSP 的标准指令的是。(选择1项)
- 对于每一个网站访问用户都要访问的变量,应该将它设为________变量。(选择1项)
- 查看下列 JSP 内容
- 假设 A.jsp 内设定一个 <jsp:useBean> 元素:
- 在 MVC 设计模式中,JavaBean的 作用是。(选择1项)
第 14 章 J2EE 与 EJB
- J2EE 是什么?它包括哪些技术?
- 描述 J2EE 框架的多层结构,并简要说明各层的作用。
- EJB 包含哪 3 种 bean
- Tomcat 服务器的默认端口是多少?怎样修改 tomcat 的端口?
- EJB的优点有哪些?(选择 2 项)
- 无状态会话 Bean、有状态会话 Bean、CMP 与 BMP 中,哪一种 Bean 不需要自己书写连接 数据库的代码?
- 假设 web 应用的文档根目录为 MyApp,那么可以从哪里找到 database.jar 文件
8.要创建一个 EJB,必须要至少编写哪些 Java 类和接口? - EJB 类库存在于 Java 的哪个版本中?(选择1项)。
- 在 J2EE 中属于 Web 层的组件有(选择1项)
- EJB 的角色和三个对象
- EJB 的激活机制
- EJB 的几种类型
第 15 章 SSH 架构
- 描述 Struts 体系结构?对应各个部分的开发工作主要包括哪些?
- 简要描述如何结合 struts、hibernate、spring 开发 Web 应用?
- 说明反转控制(IOC)和面向方向编程(AOP)在 spring 中的应用
- 简述基于 Struts 框架 Web 应用的工作流程
- 在项目中用过 Spring的 哪些方面?及用过哪些 Ajax 框架?
- MVC 模式中 M,V,C 每个代表意义,并简述在 Struts 中 MVC 的表现方式。
- Hibernate 中的 Java对象有几种状态,其相互关系如何(区别和相互转换)。
- 对 Hibernate 的延迟加载如何理解,在实际应用中,延迟加载与 session 关闭的矛盾是如何处 理的?
- Struts1 中 actionform 和 action 属于 MVC 哪一层,为什么?
- struts2 中,Action 通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的 数据传给视图的?
- 说明什么是工厂模式?
- struts 中如何实现国际化,涉及哪些文件?
- Struts 框架可以支持以下哪种程序开发语言?(选择1项)
- struts 是什么?
- spring 是什么?
- hibernate 是什么?
- 用自己的话简要阐述 struts2 的执行流程
第 16 章 UML
- UML是什么?UML中有哪些图?
- 类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。(选择1项)
第 17 章 常见设计模式
- 写一个单例类。
- 说说你所熟悉或听说过的设计模式以及你对设计模式的看法。
- 你在开发中都用到了那些设计模式?用在什么场合?
- 编程题: 写一个Singleton出来
写在最后
Java面试宝典已经整理完毕,共231页,收集一百九十多道面试题。包含了:
- Java 基本概念
- 面向对象编程
- 关键字
- 基本类型与运算
- 字符串与数组
- 输入输出流
- 集合类
- Java 平台与内存管理
- 异常处理
- XML
- Java 多线程
- JDBC 与数据库
- Servlet 与 JSP
- J2EE 与 EJB
- SSH 架构
- UML
- 常见设计模式
等知识点,现将其免费分享给大家!
需要的朋友关注下方公众号 即可领取面试资料和视频学习资料
以下是文章中的部分截图