JAVA GC 简单总结
2016-11-24 09:03
162 查看
日谈健康 2016-11-16 02:59
Java 将堆内存分为三代来管理: - 年轻代 (
年轻代:又分为
年老代:用来存放多次垃圾回收依然存活的对象。
永久代:来存放方法区。可通过
正常情况下,一个对象从创建到销毁,应该是从
Minar GC:从年轻代空间(包括
Major GC:是清理老年代。
FULL GC:是清理整个堆空间—包括年轻代和老年代。
GC的时候,会暂停全世界(
GC分代
GC的英文全拼是Garbage Collection,意思是垃圾收集。Java 将堆内存分为三代来管理: - 年轻代 (
Young Generation) - 年老代 (
Old Generation) - 永久代 (
Perm Generation)
年轻代:又分为
Eden、
From和
To,其中
From和
To又统称为
Survivor Spaces(幸存区)。年轻代大小可以由
-Xmn来控制,也可以用
-XX:SurvivorRatio来控制
Eden和
Survivor的比例,使用
–XX:NewRatio来指定新生代和年老代的大小比例。
年老代:用来存放多次垃圾回收依然存活的对象。
永久代:来存放方法区。可通过
-XX:PermSize和
-XX:MaxPermSize来指定最小值和最大值。
正常情况下,一个对象从创建到销毁,应该是从
Eden,然后到
Survivor Spaces(幸存区),再到
Old Generation(年老代),最后在某次GC下消失。也可能一个对象直接在
Eden里死掉,也可能一直在
Old Generation(年老代)存活。
GC种类
Java GC分为两类:Minar GC
FULL GC
Major GC
Minar GC:从年轻代空间(包括
Eden和
Survivor区域)回收内存被称为 Minor GC。
Major GC:是清理老年代。
FULL GC:是清理整个堆空间—包括年轻代和老年代。
GC的时候,会暂停全世界(
stop-the-world),意思是停止所有的应用线程,所以要避免不必要的GC已提高性能。
GC日志
-XX:+PrintGCDetails打印日志详情。
-XX:+PrintGCTimeStamps打印时间戳。
-Xloggc输出GC日志到文件。
相关文章推荐
- Java GC工作原理以及Minor GC、Major GC、Full GC简单总结
- JAVA GC 简单总结
- JAVA GC 简单总结
- Java GC工作原理以及Minor GC、Major GC、Full GC简单总结
- java finalize方法总结、GC执行finalize的过程
- java之ThreadLocal简单使用总结
- Java Map家族简单总结
- Java面向对象简单总结(二)
- Java 工具类总结(1): 使基本数值计算更简单 - Math
- 关于基本排序算法的简单研究总结(java 实现)
- Java容器的简明归类总结及简单实例
- Java GC(垃圾回收)机制知识总结
- JAVA内存与GC总结
- java jvm gc 垃圾回收机制 总结
- java finalize方法总结、GC执行finalize的过程
- [Java]关于Java中的数值计算的简单总结
- JavaWEB——简单标签简单总结
- java时间类简单总结
- java Thread 简单总结
- java中Color类的简单总结