关注
(回帖有字数限制,删除了很多内容)知识储备:(详解还是要看JVM篇章)
一、垃圾回收大致分为三大类别
| | MinorGC | MajorGC | FullGC
二、可达性分析法的实现过程
1. 确定GCRoots。一般包含以下几个重要成分可能作为GCRoots
1. 虚拟机栈和本地方法栈中引用的对象
2. 堆中的字符串常量池和静态变量
3. 。。。
2. 从GCRoots开始遍历整个引用链,并将其标记为可存活。之后回收其他未被标记的即可
三、一个对象在堆的各个代中的流转过程(特殊情况除外:大对象等)
1. 对象创建之初一般在年轻代的Eden区
2. 当Eden满了之后触发MinorGC来将Eden和From区中可活对象放入To区。如果满了放入老年代。如果From中对象生存周期超过阀值则放入老年代
3. 然后调转From区和To区的定义
4. 如果遇到老年代空间满了就进行一次MajorGC。如果MajorGC之后还是不足就触发FullGC
问题一:根据不同的GC方式,扫描的区域也不同,也区别于不同的垃圾收集器。
+ Parallel:严格的年轻代和老年代,在回收的时候扫描固定区域
+ G1:针对分区算法,以及启动时配置的参数来跟踪并计算,在这个不超过最大时间间隔内回收哪些区的空间能做到最优。
问题二:一般对象创建之后就会出现在Eden区域,但是对于一些字符串常量、静态变量,则会出现在堆空间的字符串常量池中(字符串常量池是在JDK7之后才在堆中的)。对于一些Eden中存放不在的大对象可能会出现在老年代,此间可能会触发FullGC等情况
问题三:根据上述知识储备,不同的GC方式和不同的垃圾收集器,扫描的地方是不一样的,具体可以看知识储备。
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
说又不是不能用的:之前也想回老家,结果发现除了考公和靠关系的工作,根本没适合的岗位,省会合肥的竞争比北上广还卷,最后还是认清现实:普通人想赚钱,只能去大城市😭 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# OC/开奖 #
204755次浏览 1361人参与
# 记录实习开销 #
165099次浏览 634人参与
# 百度秋招 #
53250次浏览 390人参与
# 秋招疯了,看什么都像offer #
17119次浏览 129人参与
# 材料转码还有必要吗? #
32348次浏览 152人参与
# 你面试时吹过最大的牛 #
3585次浏览 24人参与
# 小红书开奖了 #
36355次浏览 179人参与
# 科大讯飞工作体验 #
29403次浏览 71人参与
# 实习学到最有价值的工作习惯 #
41683次浏览 364人参与
# 你知道哪些职场黑话? #
65064次浏览 454人参与
# 设计人的面试记录 #
167315次浏览 1545人参与
# 华为工作体验 #
243279次浏览 1298人参与
# 实习生应该准时下班吗 #
317781次浏览 1717人参与
# 蚂蚁求职进展汇总 #
133725次浏览 1213人参与
# 移动求职进展汇总 #
14002次浏览 119人参与
# 招银网络科技工作体验 #
25820次浏览 95人参与
# 应届生应该先就业还是先择业 #
148405次浏览 746人参与
# CVTE求职进展汇总 #
26770次浏览 327人参与
# 你找工作的时候用AI吗? #
160388次浏览 848人参与
# 正在春招的你,也参与了去年秋招吗? #
335481次浏览 2563人参与
# 2022毕业即失业取暖地 #
121778次浏览 710人参与
# 为了秋招你都做了哪些准备? #
26088次浏览 497人参与
科大讯飞公司氛围 451人发布