JAVA GC finalize()

finalize() 垃圾回收

java中什么时候使用finalize()方法

在java中,垃圾回收不需要我们自己执行,而是由系统自动执行。
这一点给了我们发开发人员省了不少心,但是finalize()方法一直是个困惑。
虚拟机在执行垃圾回收之前都会执行对象的finalize(),那么finalize()到底有什么用呢?
其实finalize()主要是给其他调用而创建的空间在对象回收时页同步回收而设置的。
比如,你调用了C语言,使用了mallow()开辟了一段内存空间。在你释放java对象的时候,虚拟机只能释放java对象占用的空间,而不能释放C开辟的内存空间,所你你在释放此对象之前要先回收你在C语言中开辟的空间。
这各时候才用到finalize()方法。
平时的时候不要随便使用finalize()方法

上一篇:java学习day40--JVM---GC


下一篇:【JVM从小白学成大佬】3.深入解析强引用、软引用、弱引用、幻象引用