2021年Java常见面试题及答案解析
2021 年 Java 常见面试题及答案解析
面向对象编程
-
解释 Java 中的封装、继承和多态。
-
封装: 将数据和操作封装在一个单元中,隐藏内部实现细节,仅暴露必要接口。
- 继承: 允许一个类(子类)继承另一个类(父类)的属性和方法,实现代码复用。
-
多态: 允许不同类型的对象对同一消息做出不同的响应,提高代码灵活性。
-
抽象类和接口的区别是什么?
-
抽象类可以包含抽象方法和具体方法,接口只能包含抽象方法。
- 类只能单继承,但可以实现多个接口。
集合框架
-
ArrayList 和 LinkedList 的区别是什么?
-
ArrayList 基于数组实现,查询快,增删慢。
-
LinkedList 基于链表实现,查询慢,增删快。
-
HashMap 和 Hashtable 的区别是什么?
-
HashMap 线程不安全,允许 null 键和 null 值。
- Hashtable 线程安全,不允许 null 键和 null 值。
多线程
-
创建线程的方式有哪些?
-
继承 Thread 类
-
实现 Runnable 接口
-
线程同步的方式有哪些?
-
synchronized 关键字
- Lock 接口
JVM
-
Java 内存区域有哪些?
-
堆
- 栈
-
方法区
-
垃圾回收机制是什么?
-
自动检测和回收不再使用的对象,释放内存空间。
其他
-
什么是泛型?
-
提高代码类型安全性和可读性。
-
什么是 lambda 表达式?
-
简化代码,实现函数式编程。
答案解析
...
ArrayList 和 LinkedList 的区别是什么?
ArrayList 基于数组实现,查询快,增删慢。
LinkedList 基于链表实现,查询慢,增删快。
HashMap 和 Hashtable 的区别是什么?
HashMap 线程不安全,允许 null 键和 null 值。
-
创建线程的方式有哪些?
-
继承 Thread 类
-
实现 Runnable 接口
-
线程同步的方式有哪些?
-
synchronized 关键字
- Lock 接口
JVM
-
Java 内存区域有哪些?
-
堆
- 栈
-
方法区
-
垃圾回收机制是什么?
-
自动检测和回收不再使用的对象,释放内存空间。
其他
-
什么是泛型?
-
提高代码类型安全性和可读性。
-
什么是 lambda 表达式?
-
简化代码,实现函数式编程。
答案解析
...
Java 内存区域有哪些?
堆
方法区
垃圾回收机制是什么?
自动检测和回收不再使用的对象,释放内存空间。
-
什么是泛型?
-
提高代码类型安全性和可读性。
-
什么是 lambda 表达式?
-
简化代码,实现函数式编程。
答案解析
...
注意: 以上仅列举部分常见面试题,具体答案解析请自行查阅相关资料。
下载地址
用户评论