Java????????????????
???????????? ???????[ 2012/11/5 13:14:55 ] ????????
?????????????????????????ù???
????<1> ????????????д?????????????????????????
????<2> ??????????????????????????????? myObject = null??
????<3> ??????ù?????в?Ρ?
????<4> ????????????????????е??????
??????2????y??
?????????????y?Σ?????????????????
????<1> ????????????????????????Strong Reference????
????<2> ???ж????????????????????????????????????????????????Soft Reference???????????Weak Reference???????????Phantom Reference??????
??????????Strong Reference???????JVM??????????????ü?????????????????е???????·????????????????????·????????????????????????????????????????á?
???????????Soft Reference????????????????????н???????ù??????е???治??????????????????棬???????????????????????????????Щ?????????????Java???OutOfMemory?????????????null????????????????Щ???????????棬???Cache?????????????????????????????OutOfMemory??
???????????????????????
import java.lang.ref.SoftReference;
...
A a = new A();
...
// ???a
...
// ???????a?? ?????????soft?????????????????????
SoftReference sr = new SoftReference(a);
a = null;
...
// ?′?????
if (sr != null) {
a = sr.get();
} else {
// GC???????棬?????a???????????????
a = new A();
sr = new SoftReference(a);
}
?????????ü??????????Java???????????????棬?????????????????????????????????????????Щ??????????????????????????ò???????????????????ü????????????????
???????????Weak Reference???????????????????????????????GC?????????????????????????????????Soft????????????Weak?????GC??????л????Weak???????????????????GC?????Weak?????????????Map???С?
import java.lang.ref.WeakReference;
...
A a = new A();
...
// ???a
...
// ???????a?? ?????????Weak?????????????????????
WeakReference wr = new WeakReference(a);
a = null;
...
// ?′?????
if (wr != null) {
a = wr.get();
} else {
a = new A();
wr = new WeakReference(a);
}
??????
???·???
??????????????????
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