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

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

相关推荐
chilavert31813 小时前
技术演进中的开发沉思-326 JVM:内存区域与溢出异常(上)
java·jvm
多多*19 小时前
计算机网络相关 讲一下rpc与传统http的区别
java·开发语言·网络·jvm·c#
尽兴-20 小时前
JVM对象创建与内存分配机制
jvm·指针压缩·内存分配机制·对象分配策略·分代模型
chilavert31821 小时前
技术演进中的开发沉思-327 JVM:内存区域与溢出异常(下)
java·jvm
wb0430720121 小时前
一次jvm配置问题导致的数据库连接异常
服务器·jvm·数据库·后端
不穿格子的程序员1 天前
JVM篇5:编译和解释的区分 + 区分堆栈的好处 + 垃圾回收期的选择
jvm·gc选择
被星1砸昏头1 天前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
偷星星的贼111 天前
数据分析与科学计算
jvm·数据库·python
Dylan的码园2 天前
功能包介绍 : calendar
java·jvm·eclipse
康小庄2 天前
浅谈Java中的volatile关键字
java·开发语言·jvm·spring boot·spring·jetty