Chinaunix首页 | 论坛 | 博客
  • 博客访问: 651797
  • 博文数量: 45
  • 博客积分: 931
  • 博客等级: 准尉
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-17 13:27
文章分类

全部博文(45)

文章存档

2013年(6)

2012年(15)

2011年(23)

2005年(1)

分类: Java

2012-08-14 06:40:03

1. 强可触及
   垃圾收集器不会回收强可触及对象占据的空间。
2. 软可触及(SoftReference)
   垃圾收集器可能回收软可触及对象的内存。如果发生了,它会清除这些软可触及对象的软引用。当垃圾收集器清除了一个和引用队列有关联的软引用对象时,它把该软引用对象加入队列。
   SoftReference可以用来创建内存中缓存,JVM的实现需要在抛出OutOfMemoryError之前清除软引用,但在其他的情况下可以选择清理的时间或者是否清除它们。
3. 弱可触及 (WeakReference)
   垃圾收集器必须归还弱可触及对象所占据的内存。
   WeakReference 可以用来创建规范映射,比如哈希表,它的关键字在没有其他程序部分的引用时可以从映射中清除。java.util.WeakHashMap就用弱引用提供了这样的规范映射。
4. 可复活的
   对象既不是强可触及、软可触及,也不是弱可触及,但是仍然可能通过执行某些终结(finalizer)方法复活到这几种状态之一。
5. 影子可触及
   垃圾收集器不会清除一个影子引用,所有的影子引用都必须由程序明确的清除。
   调用影子对象的get()方法只能得到null。
6. 不可触及
   不可触及对象已经准备好回收了。
阅读(2460) | 评论(0) | 转发(0) |
0

上一篇:逆转单向链表

下一篇:RCU原理

给主人留下些什么吧!~~