弱引用笔记

public static void main(String[] args) {
    SoftReference sr = new SoftReference<>(new byte[1024 * 1024 * 10]);
    System.out.println(sr.get());
    System.gc();
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println(sr.get());
    byte[] b = new byte[1024*1024*12];
    System.out.println(sr.get());
}

 

弱引用笔记_第1张图片

 执行gc之后,软引用仍然没有被回收. 但是分配强引用之后,软引用就被回收掉了.

应用场景: 缓存场景,  内存充足时,不会回收;一旦空间不足,会把软引用回收掉;

弱引用:

一旦gc,直接被垃圾回收

应用场景: ThreadLocal

你可能感兴趣的:(笔记,java,前端)