Java面试问题及答案
1. 在Java中,什么是垃圾回收(Garbage Collection, GC)?它是如何工作的?
问题探讨:
垃圾回收是Java中一个重要的特性,它负责自动管理内存。在Java中,内存的分配是开发者可以控制的,但是内存的回收是由垃圾回收器来完成的。理解垃圾回收的机制对于编写高效的Java程序至关重要。
答案:
垃圾回收(GC)是Java虚拟机(JVM)的一个过程,它会自动回收不再使用的对象,从而释放内存资源。GC的工作过程通常包括以下几个步骤:
- 标记:GC标记出所有可到达的对象,即从根对象开始,所有能够被访问到的对象。
- 清除:GC清除所有未被标记的对象,这些对象被认为是不可到达的,即它们不再被任何活动线程所引用。
- 压缩:GC将所有存活的对象压缩到内存的一端,以减少内存碎片。
不同的JVM实现可能会采用不同的垃圾回收算法,如标记-清除、复制算法、标记-整理、G1等。
2. 解释Java中的多线程和并发。它们有什么区别?
问题探讨:
多线程和并发是Java中实现程序高效运行的重要概念。理解它们的区别对于设计和实现高效率的并发程序至关重要。
答案&#