答:与C++的析构函数不同,析构函数调用确定,而它的是不确定的。
将未被引用的对象放置于F-Queue队列
方法执行随时可能会被终止
给与对象最后一次重生的机会
不建议使用finalize方法
强引用:
软引用:对象处在有用但非必须的状态
String str = new String("abc"); // 强引用
SoftReference<String> softRef = new SoftReference<String>(str); // 软引用
弱引用:非必须对象,比软引用更弱一些
String str = new String("abc"); // 强引用
WeakReference<String> abcWeakRef = new WeakReference<String>(str); // 软引用
虚引用:不会决定对象的生命周期
String str = new String("abc");
ReferenceQueue = new ReferenceQueue();
PhantomReference ref = new PhantoReference(str, queue);