垃圾

Java3y

共 2306字,需浏览 5分钟

 · 2021-07-18

今日总结

什么是垃圾:只要对象不再被使用,那即是垃圾

如何判断为垃圾:可达性分析算法和引用计算算法,JVM使用的是可达性分析算法

什么是GC Roots:GC Roots是一组必须活跃的引用,跟GC Roots无关联的引用即是垃圾,可被回收

常见的垃圾回收算法:标记清除、标记复制、标记整理

为什么需要分代:大部分对象都死得早,只有少部分对象会存活很长时间。在堆内存上都会在物理或逻辑上进行分代,为了使「stop the word」持续的时间尽可能短以及提高并发式GC所能应付的内存分配速率。

Monor GC:当Eden区满了则触发,从GC Roots往下遍历,年轻代GC不关心老年代对象

什么是card table【卡表】:空间换时间(类似bitmap),能够避免扫描老年代的所有对应进而顺利进行Monor GC (案例:老年代对象持有年轻代对象引用)

堆内存占比:年轻代占堆内存1/3,老年代占堆内存2/3。Eden区占年轻代8/10,Survivor区占年轻代2/10(其中From 和To 各站1/10)

《对线面试官》系列目前已经连载29篇啦,这是一个讲人话面试系列

文章以纯面试的角度去讲解,所以有很多的细节是未铺垫的。

鉴于很多同学反馈没看懂【对线面试官】系列,基础相关的知识我确实写过文章讲解过啦,但有的同学就是不爱去翻。

我把这些上传到网盘,你们有需要直接下载就好了。

怎样偷偷努力 惊艳所有人?

扫码关注【面试造火箭
关注后回复「888」还可获取网盘地址哟!
浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报