一、java强引用
强引用就是直接new出来,被强引用引用的对象,一般情况下是不会被回收的,哪怕内存溢出也不会被回收
Book book=new Book();
二、java软引用
被软引用引用的对象当内存充足时不会被回收,但是当内存不足时,就会垃圾回收机回收
Book book=new Book();
SoftReference<Book> softBook=new SoftReference<Book>(book);//建立软引用
book=null;//断开强引用
System.gc();
三、Java弱引用
被弱引用引用的对象,一旦被垃圾回收机发现就会被回收,但是垃圾回收机的线程优先级很低,所以不会很快被发现
Book book=new Book();
WeakReference<Book> weakBook=new WeakReference<Book>(book);//建立弱引用
book=null;//断开强引用
网友评论