阅读 130

JVM(Java Virtual Machine)垃圾回收

当下动态分配,内存回收技术已经相当成熟,为什么还要了解垃圾回收机制?

当排查内存溢出,内存泄漏,当系统达到更高的并发瓶颈时候,垃圾回收机制,就需要开发人员实施必要监控和调节。

程序计数器,本地方法栈,虚拟机栈3个区域是线程私有的,随着我们线程的消亡而消亡,所以这些区域就不需要考虑过多的垃圾回收问题。

堆和方法区有着不同的区别:一个接口有多个实现类,所需需要的内存不一定,一个方法所执行不同条件分支所需要的内存也不一样,只有在运行期才能知道会创建多少个对象,创建那些对象,这部分的内存分配和回收是动态的。

如何判断对象已死

  1. 引用计数法 在对象中添加一个计数器,每当有一个地方引用它的时候,计数器就进行加一,当引用失效就进行减一,计数器为0时对象就可在被使用。

    缺点:当对象之间存在相互引用的情况下,无法判定是垃圾。无法回收

  2. 可达性分析法


作者:独树一帜
链接:https://juejin.cn/post/7031091926765928456


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐