GC回收之一:判断对象存活算法、四种引用、回收方法区

本文探讨了垃圾收集在Java中的重要性,介绍了判断对象存活的两种算法——引用计数和根搜索算法,并详细阐述了四种引用类型:强引用、软引用、弱引用和虚引用。此外,还讨论了方法区的回收,特别是废弃常量和无用类的判定标准以及类卸载的条件。了解这些内容有助于解决内存溢出和内存泄漏问题。
摘要由CSDN通过智能技术生成

       当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,就需要对GC和内存分配的技术实施必要的监控和调节。

判断对象是否存活的算法:

1、引用计数算法

      给对象添加一个引用计数器,当有一个地方引用它时,计数器值就加1;当引用失效时,计数器就减1;任何时候计数器都为0的对象就是不可能再被使用的。引用计数器算法(Reference Counting)实现简单,判定效率也很高,在大部分情况下他都是一个不错的算法。但是,Java语言中没有选用引用计数算法来管理内存,其中最主要的原因是他很难解决对象之间的互相循环引用的问题。

2、根搜索算法

      根搜索算法(GC Roots Tracing)的基本思路是通过一系列名为“GC Roots”的对象作为起始点,从这个节点开始向下搜索,搜索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值