JAVA中我们可以使用的对象引用方式
在JAVA中我们可以使用的对象引用方式有四种:
1)强引用:此引用引用的对象,生命力最强。(对象不会被GC)
2)软引用:此引用引用的对象,在内存不足时可能会被GC。
3)弱引用:此引用引用的对象,在GC执行时可能直接会被销毁(即便是内存充足)。
4)虚引用:用的最少,类似没有引用,主要用于记录对象的销毁。—了解
说明:软引用和弱引用通常会应用在一些缓存产品的设计中。
//1.强引用
Container c1=new Container(100);//c1就是强引用
c1=null;//此时c1指向的Container对象不可达(也就是说JVM访问不到了)
//2.软引用
SoftReference<Container> c2=new SoftReference<Container>(new Container(20));
Container cc=c2.get();//这种写发是又将软引用转换为了强引用。不推荐
System.out.println(c2.get());//通过软引用获取和操作对象
//3.弱引用
WeakReference<Container> c3=new WeakReference<Container>(new Container(100));
System.out.println(c3.get());