JVM分代回收

JVM分代回收

堆中分为两份:新生代和老年代(1:2)

新生代

新生代的内部分为了三个区域

Eden区,From区,To区8:1:1

当eden区内存不足时,就会使用可达性分析算法进行标记

标记eden区和from区的存活对象

将这些对象复制到to区,对eden区和from区进行清除

如果eden下次又出现内存不足

就将这些对象复制到from区,对eden区和to区进行清除

新生代->老年代

当一个对象在15次GC中都存活下来,就会晋升到老年代

MinorGC

发生在新生代的垃圾回收,暂停时间短

暂停时间:暂停所有应用程序线程,等待垃圾回收完成

MixedGC

新生代 + 老年代部分区域的垃圾回收

FullGC

新生代 + 老年代完整的垃圾回收,暂停时间长,尽量避免

相关推荐
_upupup10 小时前
异常(C++)
java·开发语言·jvm
老三牛擦20 小时前
掌握数据结构及算法、计算机组成原理、操作系统、计算机网络和软件工程基础知识,践行Scrum敏捷开发理念
jvm
码上上班21 小时前
k3s学习
jvm·学习
用户094248568032 天前
第18章:ConcurrentHashMap与并发容器实战
java·jvm
一条破秋裤2 天前
Linux 线程分离与主动取消:pthread_detach、pthread_cancel
java·linux·jvm
bksczm2 天前
零基础面试题1
jvm·数据结构·算法
今天的砖头有点烫手啊2 天前
GC 算法与垃圾收集器演进:从 Serial 到 ZGC
java·jvm
johnny2332 天前
JVM生态下Web开发框架:SparkJava、Javalin、Micronaut、SparkKotlin
jvm
晨小安2 天前
ThreadLocal及其内存泄漏问题深度解析
java·jvm·tomcat·哈希表
jingli93 天前
一个测试用例把连接池卡死 30 秒:SQLite 连接池 max_size=1 下的重入自锁复盘
jvm·sqlite·测试用例