package com.skywang.java;
public class StrongReferenceTest {
public static void main(String[] args) {
MyDate date = new MyDate();
System.gc();
}
}
package com.skywang.java;
import java.lang.ref.SoftReference;
public class SoftReferenceTest {
public static void main(String[] args) {
SoftReference ref = new SoftReference(new MyDate());
ReferenceTest.drainMemory();
}
}
SoftReference ref = new SoftReference(new MyDate()); ReferenceTest.drainMemory();
MyDate date = new MyDate();
// 由JVM决定运行
if(JVM.内存不足()) {
date = null;
System.gc();
}
package com.skywang.java;
import java.lang.ref.WeakReference;
public class WeakReferenceTest {
public static void main(String[] args) {
WeakReference ref = new WeakReference(new MyDate());
System.gc();
}
}
obj [Date: 1372142034360] is gc
WeakReference ref = new WeakReference(new MyDate()); System.gc();
MyDate date = new MyDate();
// 垃圾回收
if(JVM.内存不足()) {
date = null;
System.gc();
}
public class PhantomBuffer {
private byte[] data = new byte[0];
private ReferenceQueue<byte[]> queue = new ReferenceQueue<byte[]>();
private PhantomReference<byte[]> ref = new PhantomReference<byte[]>(data, queue);
public byte[] get(int size) {
if (size <= 0) {
throw new IllegalArgumentException("Wrong buffer size");
}
if (data.length < size) {
data = null;
System.gc(); //强制运行垃圾回收器
try {
queue.remove(); //该方法会阻塞直到队列非空
ref.clear(); //幽灵引用不会自动清空,要手动运行
ref = null;
data = new byte[size];
ref = new PhantomReference<byte[]>(data, queue);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return data;
}
}
package com.skywang.java;
import java.lang.ref.ReferenceQueue;
import java.lang.ref.PhantomReference;
public class PhantomReferenceTest {
public static void main(String[] args) {
ReferenceQueue queue = new ReferenceQueue();
PhantomReference ref = new PhantomReference(new MyDate(), queue);
System.gc();
}
}
obj [Date: 1372142282558] is gc
ReferenceQueue queue = new ReferenceQueue(); PhantomReference ref = new PhantomReference(new MyDate(), queue); System.gc();
MyDate date = new MyDate(); date = null;
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有