读书人

java 起动命令解析

发布时间: 2012-12-20 09:53:21 作者: rapoo

java 启动命令解析
前言? ? ?在看Btrace源码的时候,了解到一些陌生的启动命令参数,例如-Xbootclasspath等,之前也曾遇到过,但并没有去进一步全面了解,在此则进行介绍。
简介? ? ?Java 的启动参数包括标准的参数(运行环境参数)和非标准的参数(JVM实现支持的参数)。
标准的参数参数描述 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-clientclient模式启动-serverService模式启动-classpath?classpath-cp?classpath加入classpath-Dproperty=value加入到system property 中-d32-d64启动的操作系统位数-enableassertions[:<package name>"..." | :<class name> ]-ea[:<package name>"..." | :<class name> ]启动断言-disableassertions[:<package name>"..." | :<class name> ]-da[:<package name>"..." | :<class name> ]禁止断言-enablesystemassertions-esa启动系统断言-disablesystemassertions-dsa禁止系统断言-jar启动jar-verbose-verbose:class打印载入的class信息-verbose:gc打印GC的收集时的信息-verbose:jni打印jni调用native的方法行为-version打印java的版本信息后退出-showversion打印java的版本信息,但不退出-?-help帮助-X打印非标准的参数信息
非标准的参数参数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??描述 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??-Xint设置jvm以解释模式执行,所有字节码解释执行-Xbatch关闭后台代码编译。正常情况下,VM会在后台编译代码,运行的方法将以解释的模式运行,知道后台编译完成。该参数则强制编译在前台执行,等所有编译完才能运行代码。-Xdebug启动debugger。具体可以参考?jdb description-Xbootclasspath:bootclasspath指定用冒号分割的文件目录、jar或者zip文件,加入到boot class。用来代替java2 SDK中的boot class 文件。常被用来覆盖rt.jar的类。一般情况不会使用。
-Xbootclasspath/a:pathXbootclasspath参数用途一样,只是该选项是追加path到bootstrap class path中,而非替换。-Xbootclasspath/p:pathXbootclasspath/a参数用途一样,只是追加的目录将优先于默认的bootstrap class path-Xcheck:jni在执行native方法前进行检查。JVM会校验传递给jni方法的参数在执行jni请求前。在native中一个非法的数据将会导致JVM终止。如果开启该参数,将会降低性能。-Xfuture对class文件进行严格检查。目的为了向后兼容。推荐开发人员使用该参数。-Xnoclassgc关闭class 的gc功能-Xincgc开启增量gc的功能,默认是关闭的。有助于减少gc的停顿时间,但可能会导致大概10%的性能损耗。-Xloggc:file和verbose:gc参数类似,只是将gc信息打印在文件而不是控制台。和verbose:gc不同的是输出的信息中带有时间。-Xmsn指定初始堆的大小,默认单位为k。可以指定为m-Xmxn指定堆得最大的大小-Xssn设置线程栈的大小-Xprof跟踪正在运行的程序,并输出跟踪信息到控制台。该参数主要用在开发环境,而不是生产环境。-Xrunhprof[:help][:<suboption>=<value>,...]开启cpu、heap或者监视器的性能分析。具体介绍,可以参考?java?-Xrunhprof:help-Xrs减少JVM对操作系统信号(signals)的使用。

以上参数为1.4.2的基础的,文档地址:http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/java.html刚发现了1.6.0的文档地址,对比了下,发现基本参数一样。地址:http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html
关于JVM的其他参数,后续进行补充。

读书人网 >编程

热点推荐