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

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

相关推荐
Dicky-_-zhang38 分钟前
系统容量规划与压测实战:从1万到100万QPS的科学扩容
java·jvm
Dicky-_-zhang6 小时前
消息队列Kafka/RocketMQ选型与高可用架构:从单体到100万TPS的演进
java·jvm
2301_781571426 小时前
Golang格式化输出占位符都有什么_Golang fmt占位符教程【通俗】
jvm·数据库·python
Dicky-_-zhang10 小时前
容器编排实战:Docker与Kubernetes对比选型与落地实践
java·jvm
XiYang-DING10 小时前
【Java SE】JVM
java·开发语言·jvm
m0_4708576410 小时前
PHP怎么实现工厂模式_Factory模式编写指南【指南】
jvm·数据库·python
Dicky-_-zhang11 小时前
日志管理实战:ELK与Loki对比选型与落地实践
java·jvm
小王C语言11 小时前
【线程概念与控制】:线程封装
jvm·c++·算法
江南十四行12 小时前
并发编程(一)
java·jvm·算法
2301_7838486512 小时前
mysql数据库迁移到云平台流程_使用数据传输服务DTS工具
jvm·数据库·python