/**强引用*/
static void strongReference(){
List<byte[]> cache=new ArrayList<>();
cache.add(new byte[1024*1024]);
cache.add(new byte[1024*1024]);
cache.add(new byte[1024*1024]);
cache.add(new byte[1024*1024]);
}
/**软引用(此引用引用的对象生命力比强引用要弱一些,在内存不足时,对象会被销毁)*/
static void softReference(){
List<SoftReference> cache=new ArrayList<>();
cache.add(new SoftReference(new byte[1024*1024]));
cache.add(new SoftReference(new byte[1024*1024]));
cache.add(new SoftReference(new byte[1024*1024]));
cache.add(new SoftReference(new byte[1024*1024]));
//使用cache.get(0).get()
}
/**弱引用(此引用引用的对象生命比较弱,比软引用还要弱,在触发GC时,对象会被销毁)*/
static void weakReference(){
List<WeakReference> cache=new ArrayList<>();
cache.add(new WeakReference(new byte[1024*1024]));
cache.add(new WeakReference(
JVM之四大引用下模拟内存泄漏的GC日志分析
于 2022-09-01 10:05:54 首次发布