http://blog.csdn.net/macyang/article/details/8731313 -------------------------------------- 不过,在设定JVM参数的时候,很少有人去分别制定young generation和tenured generation的collector,而是提供了几套选择方案: -XX:+UseSerialGC: 相当于”Serial” + “SerialOld”,这个方案直观上就应该是性能最差的,我的实验证明也确实如此; -XX:+UseParallelGC: 相当于” Parallel Scavenge” + “SerialOld”,也就是说,在young generation中是多线程处理,但是在tenured generation中则是单线程; -XX:+UseParallelOldGC: 相当于” Parallel Scavenge” + “ParallelOld”,都是多线程并行处理; -XX:+UseConcMarkSweepGC: 相当于"ParNew" + "CMS" + "Serial Old",即在young generation中采用ParNew,多线程处理;在tenured generation中使用CMS,以求得到最低的暂停时间,但是,采用CMS有可能出现”Concurrent Mode Failure”(这个后面再说),如果出现了,就只能采用”SerialOld”模式了;
|