1.引用的分类:
强引用 软引用 弱引用 虚引用(未学)
String str
="abc";
SoftReference
<String> sfr
=new SoftReference<String>(str
);
WeakReference
<String> wfr
=new WeakReference<String>(str
);
判断是可及性:对象的可及性由最强引用类型来决定
1.强引用:
强引用:不会被GC回收,
2.软可及
干掉强引用
str
=null
;
剩下软、弱引用,此时就是软可及
软引用:系统内存不足时,被GC回收
弱可及:
干掉,强引用,软引用,就剩下弱引用
sfr
.clear();
弱引用:GC发现他的时候,就把它回收
验证弱引用被GC回收
方法:
String str
="abc";
GC回收的是堆内存 所以执行System.gc()不能回收在常量池里的东西,要创建一个在堆内存的字符串才能被回收
String str
=new String("abc");
转载请注明原文地址: https://lol.8miu.com/read-32903.html