JAVA SE 7 标准参数
1、-client
2、-server
3、-agentlib:libname[=options]
——加载本地代理库
4、-agentpath:pathname[=options]
——按全路径加载本机代理库
5、-classpath classpath
-cp classpath
——指定项目及其依赖库的路径,以";"分割。
6、-Dproperty=value
——设定系统属性值,如果value中包含空格,则必须使用双引号。
7、-enableassertions[:<package name>"..." | :<class name>]
-ea[:<package name>"..." | :<class name>]
——启用断言,如果指定的是包名,则必须以"..."结尾
8、-disableassertions[:<package name>"..." | :<class name>]
-da[:<package name>"..." | :<class name>]
——禁用断言,该设置为默认设置
9、-enablesystemassertions
-esa
——启用系统断言,将系统类的默认断言状态设为true
10、-disablesystemassertions
-dsa
——在所有系统类中禁用断言
11、-jar filename
——执行jar程序
12、-javaagent:jarpath[=options]
——加载java代理
13、-jre-restrict-search
——在版本搜索的时候包含用户私有的jre
14、-no-jre-restrict-search
——在版本搜索中排除用户私有的jre
15、-showversion
——显示版本信息并继续
16、-splash:imagepath
——启动时显示的图像
17、-verbose[:value]
value: class ——显示有关加载的每个类的信息
gc ——报告每个垃圾收集事件
jni ——报告有关使用本机方法和其它java本机接口活动的信息
18、-version
——显示版本信息并退出
19、-version:release
——以指定的版本运行java
20、-X
——显示JAVA虚拟机参数信息(从java 7之后,该参数修改为非标准参数)
HotSpot JVM SE 7 参数
1、-Xint
——以解释模式运行jvm
2、-Xbatch
——禁止后台编译
3、-Xbootclasspath:bootclasspath
——作用同-classpath,但该指令支持zip文件
4、-Xbootclasspath/a:bootclasspath
——在-Xbootclasspath尾部追加包或zip文件
5、-Xbootclasspath/p:bootclasspath
——在-Xbootclasspath前追加包或zip文件
6、-Xcheck:jni
——在执行native方法前执行额外的检查
7、-Xfuture
——执行严格的class文件格式检查
8、-Xnoclassgc
——不对class(方法区)执行gc操作
9、-Xloggc:file
——效果与-verbose:gc相同但是输出到file中
10、-Xmnn或-XX:NewSize=n
——设置新生代(young generation)大小
11、-Xmsn
——设置初始堆大小,这个值必须是1024的倍数,且大于1M,java7中,默认值为物理内存的1/64
例:-Xms6291456、-Xms6144k、-Xms6m
12、-Xmxn
——最大堆大小,值必须为1024的倍数且大于2M,java7中默认值为物理内存的25%
——在服务器中一般设置-Xmx与-Xms值相同
13、-Xprof
——分析正在运行的程序,输出cpu信息,并将分析数据发送到标准输出。该指令用于开发环境,不用于生产环境。
14、-Xrs
——减少jvm中操作系统信号的使用,该参数常用在jvm以后台方式运行时使用(如Servlet)
15、-Xssn
——设置线程栈大小
16、-Xverify:mode
——设置校验class字节码的模式。
mode取值:remote -默认值,校验未被加载的字节码
all -校验所有的字节码
none -不校验任何字节码,该参数可能不会起任何效果,Use of -Xverify:none is unsupported.
17、-XX:AllocationPrefetchStyle=n
——设置分配期间使用的预取风格,默认值为2
18、-XX:+AggressiveOpts
——启用主动优化
19、-XX:+DisableAttachMechanism
——禁用调试工具。
20、-XX:+FlightRecorder
——在应用运行时切换JFR,使用该参数前需要设置-XX:+UnlockCommercialFeatures
21、-XX:FlightRecorderOptions=parameter=value
——设置JFR参数,需要JFR开启
22、-XX:StartFlightRecording=parameter=value
——开启JFR记录,与JFR.start相同,JFR(JAVA 运行记录)是一个商业化功能,能够更详细的记录jvm运行时的事件状态,如线程等待锁、GC、CPU总使用数据等
23、-XX:LargePageSizeInBytes=n
——指定内存分页的最大大小,设置用于java堆的大页面大小,设置更大的页面大小,可以更好的利用虚拟内存硬件资源。
24、-XX:MaxGCPauseMillis=n
——设置GC的最长停顿时间,jvm会尽量达成。
25、-XX:ParallelGCThreads=n
——设置并行收集器(Parallel collector)的线程数量
26、-XX:PredictedClassLoadCount=n
——使用该参数前需要设置UnlockExperimentalVMOptions标志,如果应用需要加载很多类,特别是使用class.forName()方法加载,则推荐使用该参数,n等于加载的类数量。
27、-XX:+PrintCompilation
——在HotSpot动态运行时编译时打印详细输出
28、-XX:+PrintGCDetails
——输出GC详细信息
29、-XX:+PrintGCTimeStamps
——输出带有时间戳的GC信息
30、-XX:SoftRefLRUPolicyMSPerMB=0
——采用积极的引用计数策略
31、-XX:TLABSize=n
——线程本地分配缓冲区(TLAB: Thread local allocation buffers),jvm中默认开启,该参数允许微调TLAB的大小
32、-XX:+UnlockCommercialFeatures
——开启商业化功能
33、-XX:-UseCompressedOops
——关闭64位jvm的压缩引用,该功能默认开启
34、-XX:+UseConcMarkSweepGC
——启用并发标记扫描(CMS)
35、-XX:+UseG1GC
——启用G1垃圾收集器
36、-XX:[+|-]UseLargePages
——内存分页,文档中没有说明是否默认启用
37、-XX:+UseParallelOldGC
——开启并行垃圾收集器,优化吞吐量和平均响应时间