7.2 java -X扩展运行参数

​​​​​​​

 

 -Xmixed  混合模式执行。即解释模式和JIT混合执行(JIT请参考第7.3节)

举例  java -Xmixed -classpath classes;lib/mylib.jar MyClass

-Xint         解释模式执行。禁止将类中的方法编译成本地代码,所有的字节码以解析方式进行。在该模式下,Java HotSpot可适配编译器在性能方面的优势将无法体现。

举例  java -Xint -classpath classes;lib/mylib.jar MyClass

-Xbootclasspath:<directories and zip/jar fifiles separated by ;>    将路径,jar,zip库增加到启动class的搜索路径,以";"作为分隔符。这样做违反了Java 2 Runtime Environment binary

 code license.

举例  java -Xbootclasspath:classes;lib/mylib.jar MyClass

-Xbootclasspath/a:<directories and zip/jar fifiles separated by ;>   将路径,jar,zip库

增加到缺省的bootclasspath,以";"作为分隔符。 

举例 java -Xbootclasspath/a:classes;lib/mylib.jar MyClass

-Xbootclasspath/p:<directories and zip/jar fifiles separated by ;> 将路径,jar,zip库

增加到缺省的bootclasspath的前面,以";"作为分隔符。注意,应用程序使用该命令的目的是为

了覆盖rt.jar中的类,这样做违反了Java 2 Runtime Environment binary code license.

举例 java -Xbootclasspath/p:classes;lib/mylib.jar MyClass

-Xnoclassgc 不进行class的垃圾收集 

举例 java -Xnoclassgc -classpath classes;lib/mylib.jar MyClass

-Xincgc         打开增量垃圾收集 

        增量垃圾收集开关在缺省情况下是关闭的。增量垃圾收集可以减少程序运行期偶发的长

时间垃圾收集。增量垃圾收集器将在一定的时间与程序并发执行,在这段垃圾收集的时间内,

对正在执行的程序有一定的性能影响。 

举例 java -Xincgc -classpath classes;lib/mylib.jar MyClass

-Xloggc:<fifile>          将GC信息打印到指定的文件中。与-verbose:gc类似,-Xloggc:<fifile>将GC信息中直接打印到一个文件中。如果两个都提供了,那么以-Xloggc:<fifile>为准 

举例 java -Xloggc:c:\mylog.txt -classpath classes;lib/mylib.jar MyClass

-Xbatch 关闭后台编译 

        正常情况下,JVM将以后台的方式编译class中的方法,一直按解析模式运行代码,直到后

台编译完成。-Xbatch标记关闭后台编译,所有方法的编译作为前台任务完成,直到编译完成。 

举例 java -Xbatch -classpath classes;lib/mylib.jar MyClass

-Xms<size>         指明堆内存的初使大小。该值必须是1024的倍数,并且大于1MB. 可以通过k或 

者M后缀表示是以KB字节为单位,m或者M表示以MB字节为单位。缺省值是2M,如:

                -Xms6291456

                -Xms6144k

                -Xms6m

举例 java -Xms512M -classpath classes;lib/mylib.jar MyClass

-Xmx<size>         指明最大的堆内存大小,该值必须是1204字节的倍数,k或者K表示KB, m或

者M表示MB. 缺省值为64MB.

        -Xmx83886080

        -Xmx81920k

        -Xmx80m

        在Solaris 7和Solaris 8平台下面,该值的上限是4000M减去本地代码内存开销。在Solaris

2.6 和x86 平台下面, 该值的上限是2000m去本地代码内存开销。在Linux平台下面,该值的上

限是2000m去本地代码内存开销。 

举例 java -Xmx512M -classpath classes;lib/mylib.jar MyClass

-Xss<size> 设置线程堆栈的大小。 

举例 java -Xss512K -classpath classes;lib/mylib.jar MyClass

-Xprof 打开CPU剖析功能。 

        剖析正在运行的程序,发送剖析数据到标准输出。这个选项作为程序开发期的一个有效

工具,由于对性能的巨大影响因此不建议在生产环境下面使用。

        -Xrunhprof[:help][:<suboption>=<value>,...]

        打开CPU、堆、监视器(锁)的剖析。可以跟随一系列的"<suboption>=<value>"列表,元

素之间使用,作为分隔符。运行java -Xrunhprof:help 可以获取子选项的列表和缺省值。 

举例 java -Xprof -classpath classes;lib/mylib.jar MyClass

-Xfuture         执行严格的类文件格式检查。考虑到后向兼容性,Java 2.x版本的JDK虚拟机的缺

省类文件格式检查相比1.1.x版本的JDK要松一些。-Xfuture选项打开,将执行更严格的类文件

格式检查,这样可以确保类文件与标准中定义的类文件格式更加顺从。鼓励开发者在新开发的

代码中打开该选项,因为将来版本的java应用程序起动器缺省将启动严格的类文件格式检查。 

举例 java -Xfuture -classpath classes;lib/mylib.jar MyClass

-Xrs 减少由JVM使用的操作系统信号量。 

        为了确保Java应用程序的正确停止,JVM提供了shutdown钩子策略。In a previous release,

the Shutdown Hooks facility was added to allow orderly shutdown of a Java application. 目的是

为了确保系统退出之前,用户代码的善后代码可以得到执行(如关闭一个数据连接的)。SUN的

虚拟机提供了对某些信号量的处理。 

        如果使用了-Xrs命令行选项,有如下两个后果:

        1. SIGQUIT 线程堆栈打印不可用,即无法使用kill -3打印线程堆栈.

        2. 已有的shutdown钩子函数调用的用户代码当虚拟机停止的时候将不会被自动调用,如

当JVM将要停止的时候,手工调用System.exit()来确保原有的钩子函数被执行。 

用法

举例 java -Xrs -classpath classes;lib/mylib.jar MyClass

-Xcheck:jni 对JNI函数执行附加的检查特别地,虚拟机在处理JNI请求之前,会对传给JNI调

用的参数进行校验,同时对运行期环境数据也进行校验。对于验证非法的数据,虚拟机将作为

一个致命错误而终止。但该选项打开后,性能会有一定的下降。 

举例 java -Xcheck:jni -classpath classes;lib/mylib.jar MyClass

-Xshare:offff 关于使用共享类数据。 

举例 java -Xshare:offff -classpath classes;lib/mylib.jar MyClass

-Xshare:auto 在可能的情况下,使用共享的类数据 

举例 java -Xshare:offff -classpath classes;lib/mylib.jar MyClass

-Xshare:on 一定使用共享的类数据,否则失败 

举例 java -Xshare:offff -classpath classes;lib/mylib.jar MyClass

摘自:《Java问题定位技术》张民卫

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值