《深入理解java虚拟机》之垃圾回收

本文详细探讨了《深入理解Java虚拟机》中关于垃圾回收的内容,涵盖了垃圾回收的基本原理、不同类型的垃圾收集器、内存管理和调优策略等方面,旨在帮助读者深入理解Java应用程序的内存管理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断对象存活
        引用计数算法(弃用,难以解决循环引用)
        可达性分析算法(GC Roots对象向下搜索)
        (如果对象没有与GC Roots相连的引用链,它会被标记,然后执行finalize()筛选,当对象没有覆盖finalize()方法,
        finalize()方法被虚拟机调用过,该对象被回收。finalize()方法里只要使得该对象与引用链上对象关联。

引用垃圾回收级别(内存紧张时,存活的对象也回收)
        强引用(不会被回收)
        软引用
        弱引用
        虚引用

回收方法区
        废弃常量
        无用的类(三个条件:java堆不存在该类实例,加载该类的类加载器被回收,该类Class反射对象没有被引用)

GC算法
        标记-清除算法(效率低,产生不连续的碎片)
        复制算法(内存缩小为原来一半,对象存活率高时复制操作就多,效率变低。改进:将内存分为Eden, from Survivor, to Survivor)
        标记-整理算法
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值