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

Java中对象的六种可触及状态相关推荐

  1. Java中对象的三种状态

    转载自   Java中对象的三种状态 Java中的对象的三种状态是和垃圾回收紧密相关的,因此有必要深究. 状态一:可触及态:从根节点开始,可以搜索到这个对象,也就是可以访问到这个对象,也有人将其称为可 ...

  2. 操作系统中进程的五种状态与JAVA中线程的六种状态

    操作系统中的五种状态 新建:创建新的进程 就绪:进程已经获得除CPU时间片以外的任何资源,一旦获得cpu时间片就能立马执行. 执行:处于就绪队列中的进程获得了时间片运行进程. 阻塞:进程时间片用完进入 ...

  3. Java中对象的串行化(Serialization)和transient关键字

    Java中对象的串行化(Serialization)和transient关键字 前言: 该篇文章参考自网上资料,但是部分内容经过笔者更改,因此算作原创吧,原文地址: http://www.golden ...

  4. 教妹学Java(二十三):怎么理解 Java 中对象和类的概念?

    你好呀,我是沉默王二,CSDN 排名前十的博客专家.这是<教妹学 Java>专栏的第二十三篇,我们来理解一下 Java 中的对象和类,以及它们俩的概念--什么是对象?什么又是类? 本专栏中 ...

  5. Java 中对象占用内存大小计算

    原文地址 mp.weixin.qq.com byte 与 bit bit:位,比特.信息的最小单位,二进制数中的一个位数 (二进制位),其值为"0" 或"1": ...

  6. Java中对象的储存区

    文章目录 1 两个重要的问题 2 C语言中数据的存储区 3 Java中对象的储存区 4 Java为什么采用动态内存分配? 4 为什么基本类型是特例? 1 两个重要的问题 对象的数据位于何处? 如何控制 ...

  7. Java中对象的实例化顺序

    文章目录 1 Java中对象的实例化顺序 1 Java中对象的实例化顺序 继承后的初始化顺序: 静态成员包括静态构造代码块,初始化顺序跟书写顺序有关.

  8. 浅析Java中对象的创建与对象的数据类型转换

    这篇文章主要介绍了Java中对象的创建与对象的数据类型转换,是Java入门学习中的基础知识,需要的朋友可以参考下 Java:对象创建和初始化过程 1.Java中的数据类型     Java中有3个数据 ...

  9. Java中对象和引用的理解

    2019独角兽企业重金招聘Python工程师标准>>> 偶然想起Java中对象和引用的基本概念,为了加深下对此的理解和认识,特地整理一下相关的知识点,通过具体实例从两者的概念和区别两 ...

最新文章

  1. 承载辉煌历史 畅想无线未来
  2. 【开源】.net 分布式架构之监控平台
  3. 非大学生学计算机,浅谈非计算机专业大学生的计算机教学
  4. 自定义控件之瀑布流与水波纹实现
  5. 音视频应用驶入快车道 开发者如何快速追赶这波技术红利?
  6. CentOS 6.4 命令行 安装 VMware Tools
  7. 爬虫-06-通用爬虫与聚焦爬虫
  8. elasticsearch Java API 之Delete By Query API
  9. linux平台下C语言按进程名查找进程号pid
  10. linuxweb集群mysql_企业web高可用集群实战之lvs+keepalived+mysql
  11. Google 正式抛弃 HTTP!
  12. 伪随机生成器具体实现——ANSI X9.17
  13. 周记——20150427
  14. python太阳代码_用86行Python代码模拟太阳系
  15. Uncaught TypeError: Illegal invocation
  16. 强智教务JAVA/PHP模拟登录 密码JavaScript脚本encodeInp()加密算法破解
  17. idv和vdi的优劣势_VDI与IDV真正的含义是什么?
  18. 关于意识形成过程的认识
  19. OpenCV开发笔记(四十六):红胖子8分钟带你深入了解仿射变化(图文并茂+浅显易懂+程序源码)
  20. 什么样的微信头像最撩人?

热门文章

  1. Latex 定制合并表格
  2. 计算机考研408哪个视频好,计算机408考研视频哪个好
  3. 【Python入门】5-1 条件判断 if、if-else、if-elif-else
  4. 8.linux中的远程登录服务
  5. android launcher启动过程,Android应用启动过程-Launcher源码浅析
  6. Mac安装虚拟机Parallels Desktop,以及Windows10系统详细教程
  7. 用计算机判断函数单调性吗,高中数学函数单调性的判断方法(全)
  8. myeclipse中设置项目编码方式
  9. Eclipse中maven项目update project后项目编码会自动变成GBK的问题
  10. 六大重要策略与技巧,让我们更有效在领英(LinkedIn)开展线上营销