有关Java垃圾回收的几个问题

时间:2023-02-04 10:13:02

1.Java垃圾回收有什么目的?什么时候进行垃圾回收?

答:垃圾回收的目的是识别并丢弃应用中不再使用的对象以释放和重用资源。

2.System.gc()和Runtime.gc()会做什么事情?

答:这两个方法用于提示JVM进行垃圾回收。但是,是立即回收还是延迟进行就要取决于JVM。

3.finalize()方法什么时候被调用?析构函数的目的是什么?

答:在释放对象占用的内存之前,垃圾收集器会调用对象的finalize()方法。一般建议在该方法中释放对象持有的资源。

4.如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?

答:不会,在下一个垃圾回收周期中,这个对象将是可被回收的。