finalize方法
- Object类中定义的protected方法
- 用户可以调用对象的finalize,但不影响jvm对finalize的处理
- jvm最多可以执行一次对象的finalize方法
与finalize相关的回收过程
当对象被判定为与GC Roots无引用链相连,即不可达时,若对象未覆盖finalize方法,将直接被jvm回收。若对象覆盖了finalize方法,则判断是否已经执行过finalize方法。若已执行过,对象将被回收,否则,将对象放入F-Queue,由低优先级的线程执行finalize方法。finalize方法有可能将对象重新被GC Roots可达的对象引用。执行完finalize方法后,对该对象进行可达性分析,若不可达回收对象,否则对象复活。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224526.html原文链接:https://javaforall.net
