Java的四种引用的区别

Posted TopCoderのZeze

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的四种引用的区别相关的知识,希望对你有一定的参考价值。

强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM 也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象 。 
软引用:在使用软引用时,如果内存的空间足够,软引用就能继续被使用,而不会被垃圾回收器回收,只有在内存不足时,软引用才会被垃圾回收器回收。 
弱引用:具有弱引用的对象拥有的生命周期更短暂。因为当 JVM 进行垃圾回收,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象 
虚引用:顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。

以上是关于Java的四种引用的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java 中的四种引用及垃圾回收策略

Java中的四种引用类型,强引用,软引用,弱引用,虚引用

java中的四种修饰符:privateprotectedpublic和default的区别

jQuery绑定事件的四种方式区别

java创建线程的四种方法(转)

Java的四种引用方式