Java之强引用,弱引用,软引用 与 JVM

1.强引用

创建一个对象,并把这个对象赋值给一个引用变量。

String str = new String ("这是一个对象");

强引用有引用变量指向时永远不会被垃圾回收。即使内存不足的时候。

2.软引用

软引用通过SoftReference类来实现

软引用的对象当系统内存充足时和强引用没有太多区别,但内存不足时会回收软引用的对象。

3.弱引用

 弱引用通过weakReference类来实现

 弱引用具有很强的不确定性。因为垃圾回收每次都会回收弱引用的对象。

4.虚引用

 虚引用通过PhantomRefence类实现

 软引用和弱引用可以单独使用,虚引用不能单独使用,虚引用的作用是就跟踪对象被垃圾回收的状态,程序可以   通过检测与虚引用关联的虚引用队列是否已经包含了指定的虚引用,从而了解虚引用的对象是否即将被回收。

你可能感兴趣的:(Java之强引用,弱引用,软引用 与 JVM)