终于等到了!阿里P8历时九个月整理,Java面试宝典,核心知识点笔记在此

234 阅读6分钟

第 1 章 Java 基本概念

  1. Java 语言的优点?
  2. 什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
  3. Java 和 C++ 有何区别?
  4. JDK 和 JRE 的区别是什么?
  5. Java 支持的数据类型有哪些?什么是自动拆装箱?
  6. 什么是值传递和引用传递?
  7. 一个 ".java" 源文件中是否可以包括多个类(不是内部类)?有什么限制?
  8. 静态变量和实例变量的区别?
  9. 不通过构造函数也能创建对象吗?
  10. 静态变量和实例变量的区别?
  11. 是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
  12. 如何实现对象克隆?
  13. 一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
  14. Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?
  15. 内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
  16. 列出自己常用的 jdk 包
  17. JDK, JRE 和 JVM 的区别?

第 2 章 面向对象编程

  1. Java 中的方法覆盖 (Overriding) 和方法重载 (Overloading) 是什么意思?
  2. Overload 和 Override 的区别? Overloaded 的方法是否可以改变返回值的类型?
  3. Java 中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?
  4. 构造器 Constructor 是否可被 Override?
  5. Java 支持多继承么?
  6. 接口和抽象类的区别是什么?
  7. 下列说法正确的有()
  8. Java 接口的修饰符可以为?
  9. 下面是 People 和 Child 类的定义和构造方法,每个构造方法都输出编号。在执行 new Chil d("mike") 的时候都有哪些构造方法被顺序调用?请选择输出结果
  10. 构造器(constructor)是否可被重写(override)?
  11. 两个对象值相同(x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
  12. 接口是否可继承(extends)接口? 抽象类是否可实现(implements)接口? 抽象类是否可继 承具体类(concrete class)?
  13. 指出下面程序的运行结果:
  14. Class.forName(String className)这个方法的作用
  15. 什么是 AOP 和 OOP,IOC 和 DI 有什么不同?
  16. 判断下列语句是否正确,如果有错误,请指出错误所在?

第 3 章 关键字

  1. ”static” 关键字是什么意思?Java 中是否可以覆盖(override) 一个 private 或者是 static 的 方法?
  2. 是否可以在 static 环境中访问非 static 变量?
  3. 访问修饰符 public, private, protected, 以及不写(默认)时的区别?
  4. volatile关键字是否能保证线程安全?
  5. Java 有没有 goto?
  6. Java 中的 final关键字有哪些用法?
  7. 什么时候用 assert?
  8. final, finally, finalize 的区别?

第 4 章 基本类型与运算

  1. 说说 & 和 && 的区别。
  2. 用最有效率的方法算出 2 乘以 8 等於几?
  3. 存在使 i + 1 < i的数吗?
  4. 0.6332 的数据类型是()
  5. System.out.println("5" + 2);的输出结果应该是()
  6. 下面的方法,当输入为 2 的时候返回值是多少?
  7. float f=3.4;是否正确?
  8. int 和 Integer 有什么区别?
  9. char 型变量中能不能存贮一个中文汉字?为什么?
  10. Math.round(11.5) 等于多少? Math.round(-11.5)等于多少?

第 5 章 字符串与数组

  1. 下面程序的运行结果是()
  2. 下面代码的运行结果为?
  3. String 是最基本的数据类型吗?
  4. 数组有没有 length() 方法? String 有没有 length() 方法?
  5. 是否可以继承 String 类?
  6. String 和StringBuilder、StringBuffer 的区别?
  7. String s=new String(“xyz”);创建了几个字符串对象?
  8. 将字符 “12345” 转换成 long 型
  9. 为了显示 myStr = 23 这样的结果,写出在控制台输入的命令
  10. String s = "Hello";s = s + " world!”; 这两行代码执行后,原始的 String 对象中的内容到底变 了没有?
  11. 如何把一段逗号分割的字符串转换成一个数组?
  12. 下面这条语句一共创建了多少个对象: String s=“a”+”b”+”c”+”d”;
  13. String 和 StringBuffer 的区别?
  14. String, StringBuffer StringBuilder的区别。

第 6 章 输入输出流

  1. 下面哪个流类属于面向字符的输入流?
  2. 阅读 Shape 和 Circle 两个类的定义。在序列化一个 Circle 的对象 circle 到文件时,下面哪个 字段会被保存到文件中?
  3. 什么是 Java 序列化,如何实现 Java 序列化?

第 7 章 集合类

  1. 下列说法正确的是()
  2. ArrayList list = new ArrayList(20);中的 list 扩充几次?
  3. Java集合类框架的基本接口有哪些?
  4. 为什么集合类没有实现 Cloneable 和 Serializable 接口?
  5. 什么是迭代器(Iterator)?
  6. Iterator和ListIterator的区别是什么?
  7. 快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
  8. Java 中的 HashMap 的工作原理是什么?
  9. hashCode() 和 equals() 方法的重要性体现在什么地方?
  10. HashMap 和 Hashtable 有什么区别?
  11. 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用 Array 而不是 ArrayList?
  12. ArrayList 和 LinkedList 有什么区别?
  13. Comparable 和Comparator 接口是干什么的?列出它们的区别。
  14. Java集合类框架的最佳实践有哪些?
  15. Enumeration 接口和 Iterator 接口的区别有哪些?
  16. HashSet 和 TreeSet 有什么区别?
  17. List、Set、Map 是否继承自 Collection 接口?
  18. 说出 ArrayList、Vector、LinkedList 的存储性能和特性?
  19. List、Map、Set 三个接口存储元素时各有什么特点?
  20. 判断下列语句是否正确,如果有错误,请指出错误所在?
  21. 你是怎么理解 Java 泛型的?

第 8 章 Java 平台与内存管理

  1. GC线程是否为守护线程?()
  2. 解释内存中的栈(stack)、堆(heap)和静态存储区的用法。
  3. Java 中会存在内存泄漏吗,请简单描述。
  4. GC 是什么?为什么要有 GC?
  5. 第 3 行中生成的 object在第几行执行后成为 garbage collection 的对象?
  6. 描述一下 JVM 加载 class 文件的原理机制?

第 9 章 异常处理

  1. 下面关于java.lang.Exception类的说法正确的是()
  2. 扩展:错误和异常的区别(Error vs Exception)
  3. getCustomerInfo() 方法如下,try 中可以捕获三种类型的异常,如果在该方法运行中产生了一 个 IOException,将会输出什么结果?
  4. try{} 里有一个 return 语句,那么紧跟在这个 try 后的 finally{} 里的 code 会不会被执行,什么 时候被执行,在 return 前还是后?
  5. Java 语言如何进行异常处理,关键字:throws、throw、try、catch、finally 分别如何使
    用?
  6. 运行时异常与受检异常有何异同?
  7. 请写出 5 种常见到的runtime exception。
  8. error 和 exception 有什么区别?

第 10 章 XML

  1. XML 包括哪些解释技术,区别是什么?
  2. XML 文档定义有几种形式?它们之间有何本质区别?解析XML 文档有哪几种方式?
  3. 你在项目中哪些地方用到了 XML?
  4. 谈谈对 XML 的理解?说明 Web 应用中 Web.xml 文件的作用?
  5. XML 是一种元语言, 可以用它来描述其他语言。
  6. 在 XML 中用于注释的符号是。(选择1项)
  7. DTD 与 XML Schema 都是XML文档。(选择1项)

第 11 章 Java 多线程

  1. 下面哪些是Thread类的方法?
  2. 下面程序的运行结果?
  3. 进程和线程的区别是什么?
  4. 创建线程有几种不同的方式?你喜欢哪一种?为什么?
  5. 概括的解释下线程的几种可用状态。
  6. 同步方法和同步代码块的区别是什么?
  7. 在监视器(Monitor)内部,是如何做线程同步的?程序应该做哪种级别的同步?
  8. 什么是死锁(deadlock)?
  9. 如何确保 N 个线程可以访问 N 个资源同时又不导致死锁?
  10. sleep() 和 wait() 有什么区别?
  11. sleep() 和 yield() 有什么区别?
  12. 当一个线程进入一个对象的 synchronized 方法 A 之后,其它线程是否可进入此对象的 synch ronized 方法?
  13. 请说出与线程同步相关的方法。
  14. synchronized 关键字的用法?
  15. 举例说明同步和异步。
  16. 启动一个线程是用 run() 还是 start() 方法?
  17. 什么是线程池(thread pool)?
  18. 线程的基本状态以及状态之间的关系?
  19. 死锁的必要条件?怎么克服?

第 12 章 JDBC 与数据库

  1. 下列属于关系型数据库的是()
  2. 在进行数据库编程时,连接池有什么作用?
  3. 什么是 DAO 模式?
  4. 什么是ORM?
  5. JDBC 中如何进行事务处理?
  6. 事务的 ACID 是指什么?
  7. 使用 JDBC 操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?
  8. 存储过程和函数的区别
  9. 你认为在表上建立索引可以提高数据库系统的效率吗,为什么?
  10. 什么是数据库的参照完整性?
  11. 如何优化数据库,如何提高数据库的性能?

第 13 章 Servlet 与 JSP

  1. JSP 有哪些内置对象和动作?它们的作用分别是什么?
  2. 描述 JSP 和 Servlet 的区别、共同点、各自应用的范围
  3. 从以下哪一个选项中可以获得 Servlet的 初始化参数?
  4. 哪一个对象可以用于获得浏览器发送的请求?
  5. 运行 jsp 需要安装_____Web 服务器。
  6. 在服务器的网络编程中,解决会话跟踪的方法有
  7. 与 HttpSessionListener 接口有关的方法是
  8. 关于 JSP 生命周期的叙述,下列哪些为真?
  9. 以下声明正确的是?
  10. 下列哪个为 JSP 的隐含对象?
  11. 下面的那一个不属于 MVC 模式中的对象?
  12. 在 Servlet 处理请求的方式为。(选择1项)
  13. javax.Servlet 的包中,属于类的是。(选择1项)
  14. Http 缺省的请求方法是。(选择1项)
  15. 实现现下列哪一种接口的对象,并不需要在 web.xml 文件内进行额外的设定,Servlet 容器就 能够回应该对象加入 HTTP 会话所发生的事件?(选择1项)
  16. 下列哪个为 JSP 的小脚本的标签?(选择1项)
  17. 以下不属于 JSP 的标准指令的是。(选择1项)
  18. 对于每一个网站访问用户都要访问的变量,应该将它设为______变量。(选择1项)
  19. 查看下列 JSP 内容
  20. 假设 A.jsp 内设定一个 <jsp:useBean> 元素:
  21. 在 MVC 设计模式中,JavaBean的 作用是。(选择1项)

第 14 章 J2EE 与 EJB

  1. J2EE 是什么?它包括哪些技术?
  2. 描述 J2EE 框架的多层结构,并简要说明各层的作用。
  3. EJB 包含哪 3 种 bean
  4. Tomcat 服务器的默认端口是多少?怎样修改 tomcat 的端口?
  5. EJB的优点有哪些?(选择 2 项)
  6. 无状态会话 Bean、有状态会话 Bean、CMP 与 BMP 中,哪一种 Bean 不需要自己书写连接 数据库的代码?
  7. 假设 web 应用的文档根目录为 MyApp,那么可以从哪里找到 database.jar 文件
    8.要创建一个 EJB,必须要至少编写哪些 Java 类和接口?
  8. EJB 类库存在于 Java 的哪个版本中?(选择1项)。
  9. 在 J2EE 中属于 Web 层的组件有(选择1项)
  10. EJB 的角色和三个对象
  11. EJB 的激活机制
  12. EJB 的几种类型

第 15 章 SSH 架构

  1. 描述 Struts 体系结构?对应各个部分的开发工作主要包括哪些?
  2. 简要描述如何结合 struts、hibernate、spring 开发 Web 应用?
  3. 说明反转控制(IOC)和面向方向编程(AOP)在 spring 中的应用
  4. 简述基于 Struts 框架 Web 应用的工作流程
  5. 在项目中用过 Spring的 哪些方面?及用过哪些 Ajax 框架?
  6. MVC 模式中 M,V,C 每个代表意义,并简述在 Struts 中 MVC 的表现方式。
  7. Hibernate 中的 Java对象有几种状态,其相互关系如何(区别和相互转换)。
  8. 对 Hibernate 的延迟加载如何理解,在实际应用中,延迟加载与 session 关闭的矛盾是如何处 理的?
  9. Struts1 中 actionform 和 action 属于 MVC 哪一层,为什么?
  10. struts2 中,Action 通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的 数据传给视图的?
  11. 说明什么是工厂模式?
  12. struts 中如何实现国际化,涉及哪些文件?
  13. Struts 框架可以支持以下哪种程序开发语言?(选择1项)
  14. struts 是什么?
  15. spring 是什么?
  16. hibernate 是什么?
  17. 用自己的话简要阐述 struts2 的执行流程

第 16 章 UML

  1. UML是什么?UML中有哪些图?
  2. 类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。(选择1项)

第 17 章 常见设计模式

  1. 写一个单例类。
  2. 说说你所熟悉或听说过的设计模式以及你对设计模式的看法。
  3. 你在开发中都用到了那些设计模式?用在什么场合?
  4. 编程题: 写一个Singleton出来

写在最后

Java面试宝典已经整理完毕,共231页,收集一百九十多道面试题。包含了

  • Java 基本概念
  • 面向对象编程
  • 关键字
  • 基本类型与运算
  • 字符串与数组
  • 输入输出流
  • 集合类
  • Java 平台与内存管理
  • 异常处理
  • XML
  • Java 多线程
  • JDBC 与数据库
  • Servlet 与 JSP
  • J2EE 与 EJB
  • SSH 架构
  • UML
  • 常见设计模式

等知识点,现将其免费分享给大家!

需要的朋友关注下方公众号 即可领取面试资料和视频学习资料

以下是文章中的部分截图