Java???????????
???????????? ???????[ 2013/4/3 10:24:08 ] ????????
????3?????????????????????й????????ж??????????finalize()??????????????????????????????????????????????????????ò????????????????????????????????????????????
???????????????????????£?
????2??Java??????4??????
????1???????????????????????????????????????????eg??Person person = new Person(“sunny”); ?????????????????????????????????????????????????????
????2????????????SoftReference??????eg : SoftReference<Person> p = new SoftReference<Person>(new Person(“Rain”));????????????????????????????????????????????????ж?????null????ж??????????????????
????3????????????WeakReference??????eg : WeakReference<Person> p = new WeakReference<Person>(new Person(“Rain”));??????????????????????????????????
????4???????????????????????????????????????????????????PhantomReference??????????ReferenceQueue?????????????eg??
package test;
import java.lang.ref.PhantomReference;
import java.lang.ref.ReferenceQueue;
public class Test{
public static void main(String[] args) {
//???????????
Person person = new Person("Sunny");
//??????????????
ReferenceQueue<Person> rq = new ReferenceQueue<Person>();
//????????????????????????????person????
PhantomReference<Person> pr = new PhantomReference<Person>(person?? rq);
//?ж?person?????????????????
person = null;
//??????????????????????
//???????????????????÷?????????????????????null
System.out.println(pr.get());
//???????????
System.gc();
System.runFinalization();
//?????????????е??????????????????????????????
//???????????????????????????pr???б??????true
System.out.println(rq.poll() == pr);
}
}
???????н????
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11