java之强/软/弱引用

一、java强引用

强引用就是直接new出来,被强引用引用的对象,一般情况下是不会被回收的,哪怕内存溢出也不会被回收

Book book=new Book();

二、java软引用

被软引用引用的对象当内存充足时不会被回收,但是当内存不足时,就会垃圾回收机回收

Book book=new Book();
SoftReference softBook=new SoftReference(book);//建立软引用
book=null;//断开强引用
System.gc();

三、Java弱引用

被弱引用引用的对象,一旦被垃圾回收机发现就会被回收,但是垃圾回收机的线程优先级很低,所以不会很快被发现

Book book=new Book();
WeakReference weakBook=new WeakReference(book);//建立弱引用
book=null;//断开强引用

你可能感兴趣的:(java之强/软/弱引用)