Java对象引用类型
程序员文章站
2024-01-10 14:11:22
...
Java对象的引用类型分为强引用、软引用、弱引用和虚应用
强引用:
强引用就是普通的Java对象的创建,例如Object obj=new Object();其中obj就是一个强引用
其余三种引用就是强引用的再次引用,这个再次引用必须是在强引用为null的情况下才有意义,因为有强引用的话直接使用强引用,干嘛要费尽周折使用别的引用呢。
软引用:
除非堆内存不足,否则垃圾回收器不会回收软引用所指的Java对象占用的堆内存。
弱引用:
垃圾回收器执行的时候回收在本次垃圾回收前、上次垃圾回收后创建的弱引用,明白?
很显然:
强引用、软引用、弱引用都可以作为存放在内存中缓存,强引用缓存不会受垃圾回收期影响,长期存在;软引用缓存受垃圾回收器影响,在内存用尽之前;弱引用缓存在下一次垃圾回收之前有效。
虚引用:
主要监控垃圾回收器对该对象的回收情况。
强引用:
强引用就是普通的Java对象的创建,例如Object obj=new Object();其中obj就是一个强引用
其余三种引用就是强引用的再次引用,这个再次引用必须是在强引用为null的情况下才有意义,因为有强引用的话直接使用强引用,干嘛要费尽周折使用别的引用呢。
软引用:
除非堆内存不足,否则垃圾回收器不会回收软引用所指的Java对象占用的堆内存。
弱引用:
垃圾回收器执行的时候回收在本次垃圾回收前、上次垃圾回收后创建的弱引用,明白?
很显然:
强引用、软引用、弱引用都可以作为存放在内存中缓存,强引用缓存不会受垃圾回收期影响,长期存在;软引用缓存受垃圾回收器影响,在内存用尽之前;弱引用缓存在下一次垃圾回收之前有效。
虚引用:
主要监控垃圾回收器对该对象的回收情况。
上一篇: windows程序入口