本参数表以JDK1.6为基础编写,JDK1.6的HotSpot虚拟机有很过非稳定参数(Unstable Options, 即以-XX:开头的参数,JDK1.6的虚拟机中大概
有660多个),使用-XX:+PrintFlagsFinal参数可以输出所有的参数的名称以及默认值,下面的各个表格只包含其中最长用的部分。参数使用的
方式有如下三种：
* -XX:+<option>开启option参数
* -XX:-<option>关闭option参数
* -XX:<option>=<vaule>将option参数的值设置为value
------------------------------------------------------------------------------------------------------------------------

内存管理参数
参数                                默认值                                    使用介绍
DisableExplicitGC                   默认关闭                                  忽略来自System.gc()方法的触发的垃圾收集
ExplicitGCInvokes Concurrent        默认关闭                                  当收到System.gc()方法提交的垃圾收集申请时,使用CMS收集器进行收集
UseSerialGC                         Client模式的虚拟机默认开启,其他模式关闭   虚拟机运行在Client模式下的默认值,开袋此开关后,使用Serial+Seril Old的收集器组合进行内存回收
UseParNewGC                         默认关闭                                  打开此开关后,使用ParNew+Serial Old的收集器组合进行内存回收
UseConcMarkSweepGC                  默认关闭                                  打开此开关后,使用ParNew+CMS+Serial Old的手机器组合进行内存回收.如果CMS收集器出现Concurrent Mode Failure,则Serial Old收集器将作为后备收集器
UseParallelGC                       Server模式的虚拟机默认开启,其他模式关闭   虚拟机运行在Server模式下的默认值,打开此开关后,使用Parallel Scavenge + Serial Old的收集器组合进行内存回收
UseParallelOldGC                    默认关闭                                  打开此开关后,使用Parallel Scavenge+Parallel Old的收集器组合进行内存回收
SurvivorRatio                       默认为8                                   新生代中Eden区域与Survivor区域的容量比值
PretenureSizeThreshold              无默认值                                  直接晋升到老年代的对象大小,设置这个参数后,大于这个参数的对象将直接在老年代分配
MaxTenuringThreshold                默认值为5                                 晋升到老年代的对象年龄.每个对象坚持过一次Minor GC之后,年龄就加1,当超过这个参数值时就进入老年代
UseAdaptiveSizePolicy               默认开启                                  动态调整Java堆中各个区域的大小及进入老年代的年龄
HandlePromotionFailure              JDK1.5及以前是默认关闭,JDK1.6默认开启     是否允许分配担保失败,即老年代的剩余空间不足以应付新生代的整个Eden和Survivor区的所有对象都存活的极端情况
ParallelGCThreads                   少于或等于8个CPU时默认值为CPU数量值,多于8个时比CPU数量值小              设置并行GC时进行内存回收的线程数
GCTimeRatio                         默认值为99                                GC时间占总时间的比率,默认值为99,即允许1%的GC时间.仅在使用Parallel Scavenge收集器时生效
MaxGCPauseMillis                    无默认值                                  设置GC的最大停顿时间.仅在使用Parallel Scavenge收集器时生效
CMSInitiatingOccupancy Fraction     默认值为68                                设置CMS收集器在老年代空间被使用多少后出发垃圾收集,仅在使用CMS收集器时生效
UseCMSCompactAtFull Collection      默认开启                                  设置CMS收集器在完成垃圾收集是否要进行一次内存碎片整理.仅在使用CMS收集器时生效
CMSFullGCsBefore Compaction         无默认值                                  设置CMS收集器在进行若干次垃圾收集后再启动一次内存碎片整理.仅在使用CMS收集器时生效
ScavengeBeforeFullGC                默认开启                                  在Full GC发生之前触发一次Minor GC
UseGCOverheadLimit                  默认开启                                  禁止GC过程无限制地执行,如果过于频繁,就直接发生OutOfMemory异常
UseTLAB                             Server模式默认开启                        优先在本地线程缓冲区分配对象,避免分配内存时的锁定过程
MaxHeapFreeRatio                    默认值为70                                当Xmx值比Xms值大时,堆可以动态收缩和扩展,这个参数控制当堆空闲大于指定比率时自动收缩
MinHeapFreeRatio                    默认值为40                                当Xmx值比Xms值大时,堆可以动态收缩和扩展,这个参数控制当堆空闲小于指定比率时自动扩展
MaxPermSize                         大部分情况下默认值是64MB                  永久带的最大值
------------------------------------------------------------------------------------------------------------------------

即使编译参数
参数                                默认值                                                   使用介绍
CompileThreshold                    Client模式下默认值是1500,Server模式下默认值是10000       触发方法即时编译的阀值
OnStackReplacePercentage            Client模式下默认值是933,Server模式下默认值是140          OSR比率,它是OSR即时编译阀值计算公式的一个参数,用于代替BackEdgeThrehold参数控制汇编计数器的实际溢出阀值
ReservedCodeCacheSize               大部分情况下默认值是32MB                                 即时编译器编译的代码缓存的最大值
------------------------------------------------------------------------------------------------------------------------

类型加载参数
参数                      默认值            使用介绍
UseSplitVerifier          默认开启          使用依赖StackMapTable信息的类型检查代替流分析,以加快字节码校验速度
FailOverToOldVerifier     默认开启          当类型校验失败时,是否允许回到老的类型推导校验方式进行校验,如果开启则允许
RelaxAccessControlCheck   默认关闭          在校验阶段放松对类型访问的限制
------------------------------------------------------------------------------------------------------------------------

多线程相关参数
参数                      默认值                                     使用介绍
UseSpinning               JDK1.6默认开启,JDK1.5默认关闭              开启自旋锁以避免线程频繁的挂起和唤醒
PreBlockSpin              默认值为10                                 使用自旋锁时默认的自旋次数
UseThreadPriorities       默认开启                                   使用本地线程优先级
UseBiasedLocking          默认开启                                   是否使用偏向锁,如果开启则使用
UseFastAccessorMethods    默认开启                                   当频繁反射执行某个方法时,生成字节码来加快反射的执行速度
------------------------------------------------------------------------------------------------------------------------

性能参数
参数                      默认值                                     使用介绍
AggressiveOpts            JDK1.6默认开启,JDK1.5默认关闭              使用激进的优化特性,这些特性一般是就别正面和负面双重影响的,需要根据具体应用特点分析才能判定是否对性能有好处
UseLargePages             默认开启                                   如果可能,使用打内存分页,这项特性需要操作系统的支持
LargePageSizeInBytes      默认为4MB                                  使用指定大小的内存分页,这项特性需要操作系统的支持
StringCache               默认开启                                   是否使用字符串缓存,开启则使用
------------------------------------------------------------------------------------------------------------------------

调试参数
参数                              默认值            使用介绍
HeapDumpOnOutOfMemoryError        默认关闭          在发生内存溢出异常时是否生成堆转储快照,关闭则不生成
OnOutOfMemoryError                无默认值          当虚拟机抛出内存溢出异常时,执行指定的命令
OnError                           无默认值          当虚拟机抛出ERROR异常时,执行指定的命令
PrintClassHistogram               默认关闭          使用[ctrl]-[break]快捷键输出类统计状态,相当于jmap -histo的功能
PrintConcurrentLocks              默认关闭          打印J.U.C中锁的状态
PrintCommandLineFlags             默认关闭          打印启动虚拟机时输入的非稳定参数
PrintCompilation                  默认关闭          打印方法时编译信息
PrintGC                           默认关闭          打印GC信息
PrintGCDetails                    默认关闭          打印GC的详细信息
PrintGCTimeStamps                 默认关闭          打印GC停顿耗时
PrintTenuringDistribution         默认关闭          打印GC后新生代各个年龄对象的大小
TraceClassLoading                 默认关闭          打印类加载信息
TraceClassUnloading               默认关闭          打印类卸载信息
PrintInlining                     默认关闭          打印方法的内联信息
PrintCFGToFile                    默认关闭          将CFG图信息输出到文件,只用DEBUG版虚拟机才支持此参数
PrintIdealGraphFile               默认关闭          将Ideal图信息输出到文件,只有DEBUG版虚拟机才支持此参数
UnlockDiagnosticVMOptions         默认关闭          让虚拟机进入诊断模式,一些参数(如PrintAssembly)需要在诊断模式中才能使用
PrintAssembly                     默认关闭          打印即使编译后的二进制信息
