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

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

相关推荐
m0_7066532315 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python
qq_4232339016 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
2401_8365631817 小时前
用Python读取和处理NASA公开API数据
jvm·数据库·python
难得的我们18 小时前
超越Python:下一步该学什么编程语言?
jvm·数据库·python
OnYoung20 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
多多*20 小时前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#
m0_5811241920 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
naruto_lnq21 小时前
如何为开源Python项目做贡献?
jvm·数据库·python
疯狂的喵21 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
tb_first1 天前
万字超详细苍穹外卖学习笔记3
java·jvm·笔记·学习·spring·tomcat·maven