Object的finalize()方法的作用是什么?
答:finalize()的作用是为对象创造最后一次逃脱死亡的机会。当垃圾回收器宣告一个对象死亡时,至少要经过两次的标记过程,如果对象在进行可达性分析后,发现对象该没有和GC Roots相连接的引用链,就会被第一次标记,并且判断是否执行finalize()方法,如果对象覆盖finalize()方法且未被引用过,这个对象就会被放置在F-Queue队列中,并在稍后由一个虚拟机自动建立的低优先级的final线程去执行触发finalize()方法,触发该方法后不承诺等待其运行结束,即方法执行随时可能会被终止。