【转帖】32.MinorGC、MajorGC和FullGC的对比
1.MinorGC、MajorGC和FullGC的对比
1.JVM在进行GC的时候,并不是每次都是对新生代、老年代、永久代/元空间一起回收的,大部分的回收都是值新生代。
2.针对HotSpot VM的实现,它里面的GC按照回收区域可以分为两种类型:一种是部分收集(Partial GC),一种是整堆收集(Full FC)
- 部分收集:不是完整收集整个堆。其中又分为:
a) 新生代收集(Minor GC / Young GC):只有新生代的垃圾收集。
b) 老年代收集(Major GC / Old GC):只有老年代的收集。
目前,只有CMS GC才会有单独收集老年代的行为。
很多时候Major GC和Full GC会混淆使用,需要具体分辨是老年代回收还是整堆回收。
c) 混合收集:收集整个新生代以及部分老年代的垃圾。
目前只有G1 GC有这种行为。 - 整堆收集
(Full GC):收集整个java堆和方法区的垃圾
2.GC触发机制
1.年轻代GC(Minor GC)触发机制。
- 当年轻代空间不足的时候,就会触发
Minor GC。这里的年轻代指的是Eden区,只有Eden区满的时候才会触发Minor GC,S0区或者S1区满是不会触发GC的。 Minor GC发生的很频繁,回收速度也很快。Minor GC会引发STW(Stop the World),暂停其他用户线程,等待垃圾回收结束,用户线程才会恢复运行。
2.老年代GC(Major GC)触发机制。
3.Full GC触发机制。
更多JVM文章请访问我的JVM专栏:
https://blog.csdn.net/u011069294/category_10113093.html
</article>
【转帖】32.MinorGC、MajorGC和FullGC的对比的更多相关文章
- [转帖]InnoDB与MyISAM等存储引擎对比
InnoDB与MyISAM等存储引擎对比 https://blog.ouyangsihai.cn/innodb-yu-myisam-deng-cun-chu-yin-qing-dui-bi.html ...
- [转帖]calico网络原理及与flannel对比
calico网络原理及与flannel对比 https://blog.csdn.net/ganpuzhong42/article/details/77853131 2017年09月05日 16:34: ...
- C#开发BIMFACE系列32 服务端API之模型对比3:批量获取模型对比状态
系列目录 [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列31 服务端API之模型对比2:获取模型对比状态>中介绍了根据对比ID,获取一笔记录的对比状态.由于模 ...
- Java堆内存
Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象. 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old ).新生代 ( Yo ...
- java工程师-面试知识点总结
目录(转载) [x] 一.Java基础(语言.集合框架.OOP.设计模式等) [x] 二.Java高级(JavaEE.框架.服务器.工具等) [x] 三.多线程和并发 [x] 四.Java虚拟机 [x ...
- Java研发工程师知识点总结
Java研发工程师知识点总结 最近一次更新2017年12月08日 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 ...
- JVM详解(四)——运行时数据区-堆
一.堆 1.介绍 Java运行程序对应一个进程,一个进程就对应一个JVM实例.一个JVM实例就有一个运行时数据区(Runtime),Runtime里面,就只有一个堆,一个方法区.这里也阐述了,方法区和 ...
- JVM内存垃圾回收方法
1.概述 1.1.为什么要回收? 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断地分配内存空间而不进行回收.除非内存无限大,我们可以任性地分配而不回收,但是事实并非如此.所以,垃圾回收是必须 ...
- Java GC 概念摘要
很长时间,我想Java的GC做一个小小的总结,他有没有时间.根据最近看了java paper向上java gc文章,我觉得好,读读.顺便说一下,总结下. java paper的GC文章地址,里面有非常 ...
- 【007】【JVM——内存分配和恢复策略】
内存分配与收回策略 JVM的自己主动内存管理要自己主动化地解决两个问题:对象分配内存以及回收分配给对象的内存.回收内存前几篇已经讲了.如今说内存分配.对象的内存分配一般分配在堆内存中,也可能经过 ...
随机推荐
- 2023-05-28:为什么Redis单线程模型效率也能那么高?
2023-05-28:为什么Redis单线程模型效率也能那么高? 答案2023-05-28: 1.C语言实现,效率高 C语言程序运行速度快,因为其相较于其他高级语言更加接近底层机器.由于C语言直接操作 ...
- 云图说丨每个成功的业务系统离不开API网关(APIG)的保驾护航
摘要:华为云API网关(APIG)是为企业开发者及合作伙伴提供的高性能.高可用.高安全的API托管服务, 帮助企业轻松构建.管理和部署不同规模的API. 本文分享自华为云社区<[云图说]第243 ...
- 电商运营该如何做 AB 测试
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近年,电商行业进入了一个新的发展阶段,一方面电商市场规模持续扩大,另一方面直播电商.即时零售.社区团购等新兴电商业 ...
- 火山引擎云原生数据仓库 ByteHouse 技术白皮书 V1.0 (Ⅵ)
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,<火山引擎云原生数据仓库 ByteHouse 技术白皮书>正式发布.白皮书简述了 ByteHou ...
- Solon Aop 特色开发(4)Bean 扫描的三种方式
Solon,更小.更快.更自由!本系列专门介绍Solon Aop方面的特色: <Solon Aop 特色开发(1)注入或手动获取配置> <Solon Aop 特色开发(2)注入或手动 ...
- 【C++库函数】stringstream-类型转换&&字符分割
继续填坑٩(•̤̀ᵕ•̤́๑),这次是 stringstream的内容,最初是看到它可以把字符串直接输出成int类型,惊了,但是一直不是很懂.在网上查了很多资料,才终于差不多理解.stringstre ...
- Socket | 大小端问题和网络字节序转换函数
不同 CPU 中,4 字节整数 1 在内存空间的存储方式是不同的.4 字节整数 1 可用 2 进制表示如下: 00000000 00000000 00000000 00000001 有些 CPU 以上 ...
- 题解 [HDU6746] Civilization(贪心+模拟)
来源:2020 年百度之星·程序设计大赛 - 初赛一 一道贪心 + 细节模拟题 题意很简单,这里不详细写了 观察题目,\(n\) 只有 500 ,可以 \(n \times n\) 枚举每个位置作为起 ...
- nginx导致获取客户端访问ip都是nginx服务器的地址问题解决
java 获取用户ip的方法 /** * 获得客户端 ip * @param request * @return */ public String getRemortIP(HttpServletReq ...
- CSS Sticky Footer 几种实现方式
项目里,有个需求,登录页,信息,需要使用到sticky footer布局,刚好,巩固下这个技术: 核心代码: 播客: https://www.jb51.net/css/676798.html 视频:h ...