【读书会第十二期】 《深入理解Java虚拟机》第2章Java虚拟机垃圾回收

举报
Archive 发表于 2022/04/27 15:07:12 2022/04/27
【摘要】 本章概述和学习目标 引用计数法,可达性分析算法等

Java的内存回收

1. 引用计数法

在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就加1,当引用失效的时候(变量记为null),计数器的值就减1。但Java虚拟机中没有使用这种算法,这是由于如果堆内的对象之间相互引用,就始终不会发生计数器-1,那么就不会回收。

2. 可达性分析算法

此算法的核心思想:通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何的引用链相连时(GC Roots)到这个对象不可达)时,证明此对象可用。

GC Roots

虚拟机中引用的对象

方法区中静态属性引用的对象

方法区中常量引用的对象

本地方法JNI引用的对象

3. 引用


4. 方法区的回收

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。