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

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

相关推荐
2501_941111243 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
2501_941112144 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
2501_941111825 小时前
使用Scikit-learn进行机器学习模型评估
jvm·数据库·python
c238566 小时前
C/C++内存管理
jvm
一只会写代码的猫6 小时前
C# 性能优化:从垃圾回收到多线程并发
jvm·算法
2501_941112079 小时前
深入理解Python的if __name__ == ‘__main__‘
jvm·数据库·python
2501_941112059 小时前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
2501_9411112510 小时前
自动化与脚本
jvm·数据库·python
多多*12 小时前
分布式中间件 消息队列Rocketmq 详解
java·开发语言·jvm·数据库·mysql·maven·java-rocketmq
2501_9411114012 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python