搞不明白的recycling process 和 finalization process

Posted dearYou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搞不明白的recycling process 和 finalization process相关的知识,希望对你有一定的参考价值。

自己对recycling process 和 finalization process并不太清楚,希望明白人能指点一下。

试着用一下gc和runFinalization方法:

下面的例子输出是false,说明调用了finalize方法,且相关过程一定是在当前线程内执行的,否则不能保证每次都输出false。

把System.gc()注释掉,输出true,说明recycling process 和 finalization process是有关系的,最起码finalization process依赖recycling process的结果。

 

package com.ysdx.javagc;

public class JavaGC {

    private static JavaGC tp=null;
    @Override
    protected void finalize() throws Throwable {
        tp=this;
    }
    public static void isNull(){
        System.out.println(tp==null);
    }
    public static void main(String[] args) {
        new JavaGC();
        System.gc();
        System.runFinalization();
        JavaGC.isNull();
    }
}

 

以上是关于搞不明白的recycling process 和 finalization process的主要内容,如果未能解决你的问题,请参考以下文章

从 “搞不清楚” 到 “都明白了” 的费曼

\\请问vb哪里不如c好?我怎么搞不明白?高手指点!\\

java开发两年,类加载器及其加载过程都搞不明白,那你工作可能不保了!

还搞不明白,一次性给你总结好网络层概念

XRecycleView (Scrapped or attached views may not be recycled)

还搞不懂RS485?18个问答彻底讲明白RS485