垃圾
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篇啦,这是一个讲人话面试系列
-
【对线面试官】Java注解 -
【对线面试官】Java泛型 -
【对线面试官】 Java NIO -
【对线面试官】Java反射 && 动态代理 -
【对线面试官】多线程基础 -
【对线面试官】 CAS -
【对线面试官】synchronized -
【对线面试官】AQS&&ReentrantLock -
【对线面试官】线程池 -
【对线面试官】ThreadLocal -
【对线面试官】CountDownLatch和CyclicBarrier -
【对线面试官】为什么需要Java内存模型? -
【对线面试官】深入浅出 Java 内存模型 -
【对线面试官】Java从编译到执行,发生了什么? -
【对线面试官】双亲委派机制 -
【对线面试官】JVM内存结构 -
【对线面试官】List -
【对线面试官】Map -
【对线面试官】SpringMVC -
【对线面试官】Spring基础 -
【对线面试官】SpringBean生命周期 -
【对线面试官】Redis基础 -
【对线面试官】Redis持久化 -
【对线面试官】Kafka基础 -
【对线面试官】使用Kafka会考虑什么问题? -
【对线面试官】MySQL索引 -
【对线面试官】MySQL 事务&&锁机制&&MVCC -
【对线面试官】MySQL调优
文章以纯面试的角度去讲解,所以有很多的细节是未铺垫的。
鉴于很多同学反馈没看懂【对线面试官】系列,基础相关的知识我确实写过文章讲解过啦,但有的同学就是不爱去翻。
我把这些上传到网盘,你们有需要直接下载就好了。
评论
从童年之光变“垃圾食品”,打工人现在又把它喝出「松弛感」了?
内容转载自Vista氢商业(ID:Qingshangye666) 作者/大稚 我深深爱上了一个女人,那就是东北雨姐。 雨姐,人称“战狼版李子柒”,当代最硬核生活区短视频博主。我在北京出租屋里哼哼唧唧嫌暖气不够热乎的时候,雨姐赤...
开发产品老鸟
0
简单回顾java垃圾回收器发展史|面试
Java垃圾回收器(GC)的发展史体现了Java平台对性能优化的不断追求,旨在满足各种应用场景下对吞吐量、延迟和资源利用率的不同需求。以下是Java垃圾回收器发展的主要里程碑: 1. 早期的垃圾回收器 串行垃圾回收器(S...
浪尖聊大数据
0