minor gc和full gc
来源:互联网 发布:访问远程oracle数据库 编辑:程序博客网 时间:2024/06/05 04:31
(1)新生代(Eden + From Survior + To Survior)(比例为8:1:1,可以通过参数 –XX:SurvivorRatio 来设定)
JVM 每次只会使用 Eden 和其中的一块 Survivor 区域来为对象服务,总是有一块 Survivor 区域是空闲着的。
分配不够由老年代进行担保。
老年代:数组和大的对象,新生代中发生minor gc超过一定次数(默认15,可以通过-XX:MaxTenuringThreshold设置)移动进来的对象
(2)堆中:新生代+老年代(比例约为:1:2,该值可以通过参数 –XX:NewRatio 来指定)
方法区:永久代
minor gc:发生在新生代(复制算法)中,当Eden区满的时候发生,Survior满的时候不会引发gc
full gc:指发生在老年代中的GC(标记清除算法)
(1)当老年代满时会引发Full GC,Full GC将会同时回收年轻代、老年代
(2)当永久代满时也会引发Full GC,会导致Class、Method元信息的卸载
Minor GC ,Full GC 触发条件
Minor GC触发条件:当Eden区满时,触发Minor GC。
Full GC触发条件:
(1)调用System.gc时,系统建议执行Full GC,但是不必然执行
(2)老年代空间不足
(3)方法去空间不足
(4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存
(5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小
频繁出现full gc的问题及解决办法请看这篇博客:Full GC
- minor gc和full gc
- Minor GC、Major GC和Full GC
- Minor GC和Full GC区别
- Minor GC和Full GC区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Minor GC、Major GC和Full GC之间的区别
- Linux--进程控制
- 代码片-1】 Servlet学习(一)----Servlet的生命周期以及开发Servlet的三种方法
- 【项目实战】EasyUI Tree树
- 哲学家就餐问题
- redis系列--控制台测试,查看
- minor gc和full gc
- android——闹钟
- 匿名内部类
- 深入理解JavaScript
- 1063. Set Similarity (25)<set>
- Java EE编程技术学习笔记(5)-JPA
- /* SecureCRT远程连接工具使用*/
- POJ2823Sliding Window(单调队列)
- A