该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点
面试官:Java中垃圾回收有什么目的?什么时候进行垃圾回收?
在Java中,垃圾回收(Garbage Collection,GC)是一种自动管理内存的机制,它的主要目的是在运行时自动回收不再使用的内存,释放资源,防止内存泄漏,以及降低内存管理的复杂度。
垃圾回收的主要目的包括:
-
释放不再使用的内存:当对象不再被引用,或者引用被置为null时,垃圾回收器会回收这部分内存,确保内存得到合理的利用。
-
防止内存泄漏:如果程序中存在一些无用的对象占用内存并且没有被释放,就会导致内存泄漏。垃圾回收可以帮助识别这些无用对象并回收它们,避免内存泄漏的发生。
-
降低内存管理的复杂度:通过自动回收不再使用的内存,开发人员不需要手动管理内存的分配和释放,减轻了程序员的负担。
垃圾回收的时机一般由Java虚拟机(JVM)来决定,包括以下情况:
-
空闲时:在程序执行时,JVM会在系统空闲时自动执行垃圾回收,以释放不再使用的内存。
-
内存不足时:当JVM检测到系统内存不足时,会触发垃圾回收,尝试回收一些不再使用的内存来缓解内存压力。
-
调用System.gc():虽然可以使用System.gc()方法显式执行垃圾回收,但这只