JAVA GC 简单总结
2016-11-15 23:35
190 查看
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 简单总结
- Java GC工作原理以及Minor GC、Major GC、Full GC简单总结
- Java GC工作原理以及Minor GC、Major GC、Full GC简单总结
- JAVA GC 简单总结
- JAVA 内部类的简单总结
- Java基础IO流的简单总结(转)
- Java1.5语言新特性简单总结
- JDK核心API:Java1.5语言新特性简单总结
- Java1.5语言新特性简单总结
- java udp简单总结
- 【Java】简单总结一下Java中printf()的用法
- Java1.5语言新特性简单总结
- 简单理解耗时的Java GC
- 简单总结--JavaWeb开发中的附件上传 不要再混乱!
- (黑马)总结一:Java 加密解密简单例子
- JAVA 内部类的简单总结
- JAVA 内部类的简单总结
- java简单总结1(对象的基本概念)
- JAVA 内部类的简单总结
- Java对象序列化的简单总结