day4-jvm

本文记录了一天的学习过程,重点讨论了JVM的G1垃圾收集器在并发标记和老年代不足时的工作原理,包括并发标记+混合收集策略,以及G1的优化措施如字符串去重和并发标记类卸载。作者反思了学习状态并计划继续努力。
摘要由CSDN通过智能技术生成

今日总结

早上去医院看了喉咙,下午一个午觉直接四点了,晚上和老爹聊天,一整天只看了一点点jvm(76~83)。

JVM

GC 辨析

G1 老年代不足时,到达阈值时
并发标记+混合收集
回收速度如果低于产生垃圾的速度,这时候只有小的暂停
反之退化成串行
remark
在并发标记阶段,处理了c之后,又有人引用了c。
对象引用发生改变时,会加入一个写屏障。
写屏障是把c加入一个队列中并设置为灰色
并发结束之后,进入remark,进行进一步的判断处理。
以此避免被当作垃圾处理掉。

G1优化

● 字符串去重
String底层使用的是char数组
所以将新分配的字符串加入一个队列,新时代回收时,查看是否有字符串重复,如果值一样,引用同一个char[]
优点:节约了内存
缺点:略微占用了cpu内存,新生代回收时间略微增加。
默认开启
● 并发标记类卸载

并发标记之后,就知道哪些类不再被使用,
条件:当一个类加载器的所有类都不再使用,则卸载它所加载的所有类。
● 巨型对象
○ def:大于region的一半
○ 不进行拷贝
○ 回收时优先考虑。
○ 老年代没人引用时,可以在新生代回收时处理掉。
● 并发标记时间调整
动态调整阈值,防止退化成full gc

反思

没想到三天打鱼两天晒网是真的,学了三天就开始懈怠了,明天还要出去…希望在出去之前抓紧时间学习。今天有公司通知一面过了,接下来还要准备二面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值