92-谈谈java的垃圾回收机制

我们通常指的垃圾回收,指的就是回收堆的内存。

我们创建的对象都保存在堆中,java虚拟机通过垃圾自动回收机制,简称GC,简化了程序员的工作。

在java中,我们可以调用System.gc()来表示要进行垃圾回收,不过不建议使用,因为使用之后,虽然不会立即触发Full GC(堆内存全扫描),而是由虚拟机来决定执行时机,但是一旦执行,还是会停止所有的活动(stop the world),对应用影响很大。

我们一般建议,在一个对象不需要再被使用时,将其设置为null,这样GC虽然不会立即回收该对象的内存,但是会在下一次GC循环中被回收。

最后,说说finalize()方法,它是在释放对象内存前,由GC调用,该方法有且仅被调用一次,一般不建议重写该方法