<Thinking in java 第五章> 初始化与清理

P86——构造器中可以用this(arg);来调用另一个构造器,但是却不能调用两个。此外,必须将构造器调用置于最起始处,否则编译器会报错。

 

关于finalize方法的流程:

  当对象变成(GC roots)不可达时候,GC会判断该对象是否覆盖了finalize方法,若未覆盖,则直接将其回收。否则,如对象未执行过finalize方法,将其放入F-Queue队列,由一低优先级线程执行该队列中对象的finalize方法。执行finalize方法完毕后,GC会判断该对象是否可达,若不可达,则进行回收,否则,对象“复活”。

  finalize方法无法预料,常常是危险的,总之是多余的。

下面例子不懂原因。。

 

posted @ 2018-02-22 19:39  修地铁的码农  阅读(85)  评论(0)    收藏  举报