一个列子演示java中弱引用的回收时机

    xiaoxiao2021-03-25  64

    示例代码如下

    import java.lang.ref.WeakReference; /** * * 弱引用比软引用还要弱,在系统GC时候,只要发现弱引用,不管系统堆空间使用情况如何,都会将对象回收 * 该类演示了弱引用的这种性质 * @author lhever 2017年4月4日 下午10:04:26 * @version v1.0 */ public class WeakRef { public static class Student { public int id; public String name; public Student(Integer id, String name) { this.id = id; this.name = name; } @Override public String toString() { return "[id=" + id + ",name=" + name + "]"; } } public static void main(String... args) throws InterruptedException { Student u = new Student(1, "alexzanda"); WeakReference<Student> studentWeakRef = new WeakReference<Student>(u); u = null; System.out.println(studentWeakRef.get()); System.gc(); System.out.println("After Gc:"); System.out.println(studentWeakRef.get());//gc之后一定会被回收 } }

    结果如下

    [id=1,name=alexzanda] After Gc: null
    转载请注明原文地址: https://ju.6miu.com/read-32702.html

    最新回复(0)