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

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

相关推荐
阿pin2 小时前
Java随笔-JVM内存模型
java·开发语言·jvm·内存模型
wuminyu1 天前
Java NIO内存管理与零拷贝深度剖析
java·linux·c语言·jvm·c++
zhixingheyi_tian1 天前
JVM 之 GCLocker
java·jvm
标致的钢铁侠1 天前
c# 温故而知新: 线程篇(一)
java·jvm·c#
盐焗鹌鹑蛋1 天前
【C++】多态
java·jvm·c++
折哥的程序人生 · 物流技术专研2 天前
Java面试通关⑯:JVM虚拟机核心全集
jvm·校招·虚拟机·gc垃圾回收·java面试·类加载·调优
ALex_zry2 天前
C++26 constexpr 异常详解:编译期也能 throw/catch
java·jvm·c++
标致的自行车2 天前
Entity Framework之问题收集
jvm·数据库·oracle
ALex_zry2 天前
C++26 Freestanding 库扩展详解:无操作系统也能用标准库
java·jvm·c++
killerbasd3 天前
总结 7.04
jvm