JAVA 垃圾回收总结

一、垃圾回收标记方法(找到垃圾)

1、引用计数标记:无法解决循环引用或相互引用的问题
2、可达性算法:解决上述问题
可作为GC root的对象:(我没太想清楚为啥是以下四种那个情况)

  • a. 虚拟机栈(栈帧中的本地变量表)中引用的对象。
  • b. 方法区中类静态属性引用的对象。
  • c. 方法区中常量引用的对象。
  • d. 本地方法栈中 JNI(Native方法)引用的对象

二、四种引用:

  • 强引用:永远不会回收
  • 软引用:内存溢出回收
  • 弱引用:一定会回收
  • 虚引用:没用,唯一作用是被回收时收到系统通知

三、回收标记垃圾方法(清除垃圾)

  • 标记清除算法:(缺点)碎片内存空间
  • 标记整理算法:(缺点)需要内存中移动对象,也挺慢
  • 复制算法:(缺点)空间减半
  • 分析收集算法(JVM实际采用的方法):young区(复制算法)+old区(标记清除或标记整理)思考:在这里复制算法比标记算法的优势在哪儿
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值