发布时间:2015-04-28 14:56:40
默认情况下,System.gc()会显式直接触发Full GC,同时对老年代和新生代进行回收。而一般情况下我们认为,垃圾回收应该是自动进行的,无需手工触发。如果过于频繁地触发垃圾回收对系统性能是没有好处的。因此虚拟机提供了一个参数DisableExplicitGC来控制是否手工触发GC。......【阅读全文】
发布时间:2015-04-21 11:18:49
新生代GC的主要工作是回收eden区和survivor区。一旦eden区被占满,新生代GC就会启动。新生代GC收集前后的堆数据如图5.6所示,其中E表示eden区,S表示survivor区,O表示老年代。......【阅读全文】
发布时间:2015-04-17 15:03:34
今天开始实战Java虚拟机之二:“虚拟机的工作模式”。总计有5个系列实战Java虚拟机之一“堆溢出处理”实战Java虚拟机之二“虚拟机的工作模式”实战Java虚拟机之三“G1的新生代GC”实战Java虚拟机之四“禁用System.gc()”实战Java虚拟机之五“开启JIT编译”目前的Java虚拟机.........【阅读全文】
发布时间:2015-04-16 16:33:59
在Java程序的运行过程中,如果堆空间不足,则有可能抛出内存溢出错误(Out Of Memory),简称为OOM。那么该如何处理OOM,又如何避免OOM呢?......【阅读全文】