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");//这个在堆里创建的,所以可以被回收