以下是一些常见的 Java 面试题及其答案,这些问题涵盖了 Java
基础知识、集合、多线程、JVM、异常处理等多个方面。请注意,
由于篇幅限制,这里只提供了 20 道题的示例。
1. 什么是 Java 中的垃圾回收?
答案:Java 中的垃圾回收是一种自动内存管理机制,用于回收不
再使用的对象并释放其占用的内存空间。Java 运行时系统
(JRE)中的垃圾回收器负责自动跟踪哪些对象正在被引用,以
及哪些对象不再被引用。
2. 解释一下 Java 中的值传递和引用传递。
答案:Java 采用值传递的方式。在值传递中,传递的是值的副本,
而不是原始值本身。对于基本数据类型,传递的是值的副本;对
于对象引用,传递的是引用副本,但这两个引用指向同一个对象。
因此,通过引用可以改变对象的状态,但不能使引用指向新的对
象。
3. Java 中的 String 是不可变的,这意味着什么?
答案:String 的不可变性意味着一旦 String 对象被创建,其内容
(字符序列)就不能被改变。每次对 String 进行修改操作(如拼
接、替换等),都会生成新的 String 对象。这种特性使得 String
在多线程环境下是安全的,但也可能导致性能问题,因为频繁的
字符串操作会生成大量临时对象。