Full GC执行的情况有如下四种。
1.旧生代空间不足
java.lang.OutOfMemoryError:Javaheapspace
Minor GC阶段被回收、让对象在新生代多存活一段时间及不要创建过大的对象及数组。
2. Permanet Generation空间满
Permanet GenerationFull GC
java.lang.OutOfMemoryError:PermGenspace
Full GCCMS GC。
3. CMS GC时出现promotion failed和concurrent mode failure
promotion failedFull GC。
survivor spaceCMS GC的过程中同时有对象要放入旧生代,,而此时旧生代空间不足造成的。
JDK 5.0+-XX: CMSMaxAbortablePrecleanTime=5
4.统计得到的Minor GC晋升到旧生代的平均大小大于旧生代的剩余空间
Minor GCFull GC。
Minor GCFull GC。
PS GCMinor GC
Sun JDK- java -Dsun.rmi.dgc.client.gcInterval=3600000-XX:+ DisableExplicitGC
原文地址:
*对象分配规则
1.对象优先分配在
2.大对象直接进入老年代(大对象是指需要大量连续内存空间的对象)。这样做的目的是避免在
3.长期存活的对象进入老年代。虚拟机为每个对象定义了一个年龄计数器,如果对象经过了
4.动态判断对象的年龄。如果
5.空间分配担保。每次进行
可你仍然感谢天地和人世所带来的这些变化和发生。