Java中的强引用/软引用/弱引用/虚引用

最近看到一篇文章介绍java中各种的引用,在此做一下读书笔记。

java中引用类型分为:强引用/软引用/弱引用/虚引用,这样的分类主要是针对java垃圾回收机制进行解释。

 

1.强引用

对具有强引用的变量来讲,java回收机制是不能回收的,就算是报出内存溢出异常也不会被回收。

 

2.软引用

对于这类的引用,java回收机制在内存空间允许的情况下不会回收,只有当内存不够用时进行回收。

 

3.弱引用

这类的引用,java回收机制每次GC时,只要发现了这类的引用就会直接回收。

 

4.虚引用

与其他引用不同,虚引用不会影响对象的生命周期。如果一个对象仅持有虚引用,那么它和没有引用一样,在任何时候都会被java垃圾回收机制回收。

 

你可能感兴趣的:(读书笔记,技术研究)