1、默认32模式4-hotspot在Hotspot类型的JVM中缺省使用,缺省为Client Hotspot模式。默认client模式5-XmixedJVM执行模式的设置参数,混合模式即支持Hotspot即时编译的运行模式.支持Hotspot的JVM缺省都是运行于混合模式的。默认混合模式-XcompJVM优先以编译模式运行,不能编译的,以解释模式运行。6-Xint设置JVM的执行模式为解释执行模式,纯解释执行的JVM对多数应用来说基本上时没有意义的,仅仅可能会在一些嵌入式系统中应用7内存分配相关参数8-Xms设置JVM启动时初始内存堆的大小1.6物理内存的1/64.9-Xmx设置JVM启动后动态申
2、请堆内存的最大堆空间MIN(物理内存的1/4,1G)10-Xmn为新生代分配的内存大小。和cpu核数相关,建议1core对应512M,不超过1G。11-Xss verify - prepare - resove - init+FailOverToOldVerifierjava5默认不启用java6默认启用38如果新的Class校验器检查失败,则使用老的校验器。为什么会失败?因为JDK6最高向下兼容到JDK1.2,而JDK1.2的class info 与JDK6的info存在较大的差异,所以新校验器可能会出现校验失败的情况。Java6新引入选项,默认启用39+HandlePromotionFai
3、lure关闭新生代收集担保。在一次理想化的minor gc中,Eden和First Survivor中的活跃对象会被复制到Second Survivor。然而,Second Survivor不一定能容纳下所有从E和F区copy过来的活跃对象。为了确保minor gc能够顺利完成,GC需要在年老代中额外保留一块足以容纳所有活跃对象的内存空间。这个预留操作,就被称之为新生代收集担保(New Generation Guarantee)。如果预留操作无法完成时,仍会触发major gc(full gc)。为什么要关闭新生代收集担保?因为在年老代中预留的空间大小,是无法精确计算的。为了确保极端情况的发生,GC参考了最坏情况下的新生代内存占用,即Eden+First Survivor。这种策略无疑是在浪费年老代内存,从时序角度看,还会提前触发Full GC。为了避免如上情况的发生,JVM允许开发者手动关闭新生代收集担保。在开启本选项后,minor gc将不再提供新生代收集担保,而是在出现survior或年老代不够用时,抛出promotion failed异常。java5以前是默认不启用,java6默认启用40+UseTLAB启用线程本地缓存区(Thread Local)。1.4.2以前和使用-client选项时,默认不启用,其余版本默认启用