GC不可怕,可怕的是经常FULL GC,让整个JVM停止工作进行内存回收
常见的几种触发点如下
1、持久带满了,就是Permanet Generation满了会导致FULL GC,如果GC不成功,那就报out of memory了
2、旧生代满了,导致FULL GC
3、新生代向S0和S1转移数据,S0和S1向旧生代转移数据,结果两边的内存设置都比较小,持续出现,会导致FULL GC
4、系统直接system.gc
常见的调整方法就是在server和client模式下调整我们的GC策略来满足特定场合的需要。一般情况下不需要做这方面的特别调优,只需要设置好持久带和新生代(S0,S1,Eden)、旧生代的内存大小即可
十年干戈天地老,四海苍生痛苦深。