Java运行参数详解

JRE版本

admindeMacBook-Pro:~ admin$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

TIPS:JDK版本不一定等于JRE版本,这里查询的JRE版本。

标准选项运行参数

在命令行中输入java将展示所有运行参数:

admindeMacBook-Pro:~ admin$ java
用法: java [-options] class [args...]
           (执行类)
   或  java [-options] -jar jarfile [args...]
           (执行 jar 文件)
其中选项包括:
    -d32      使用 32 位数据模型 (如果可用)
    -d64      使用 64 位数据模型 (如果可用)
    -server   选择 "server" VM
                  默认 VM 是 server,
                  因为您是在服务器类计算机上运行。


    -cp <目录和 zip/jar 文件的类搜索路径>
    -classpath <目录和 zip/jar 文件的类搜索路径>
                  用 : 分隔的目录, JAR 档案
                  和 ZIP 档案列表, 用于搜索类文件。
    -D<名称>=<值>
                  设置系统属性
    -verbose:[class|gc|jni]
                  启用详细输出
    -version      输出产品版本并退出
    -version:<值>
                  警告: 此功能已过时, 将在
                  未来发行版中删除。
                  需要指定的版本才能运行
    -showversion  输出产品版本并继续
    -jre-restrict-search | -no-jre-restrict-search
                  警告: 此功能已过时, 将在
                  未来发行版中删除。
                  在版本搜索中包括/排除用户专用 JRE
    -? -help      输出此帮助消息
    -X            输出非标准选项的帮助
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  按指定的粒度启用断言
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  禁用具有指定粒度的断言
    -esa | -enablesystemassertions
                  启用系统断言
    -dsa | -disablesystemassertions
                  禁用系统断言
    -agentlib:<libname>[=<选项>]
                  加载本机代理库 <libname>, 例如 -agentlib:hprof
                  另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
    -agentpath:<pathname>[=<选项>]
                  按完整路径名加载本机代理库
    -javaagent:<jarpath>[=<选项>]
                  加载 Java 编程语言代理, 请参阅 java.lang.instrument
    -splash:<imagepath>
                  使用指定的图像显示启动屏幕
有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html
-d32和-d64

指定程序是运行在32位还是64位环境。java -version命令可以查看到默认的运行环境(64-Bit):

Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

详见:http://javavsnet.iteye.com/blog/2006922

-client和-server

指定程序运行的JVM模式。java -version命令可以查看到默认的运行环境(Server VM):

Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

详见:http://merrymode.iteye.com/blog/997100

-D

使用示例:

java -Dfoo="some string" SomeClass

可以使用:System.getProperty("foo")获取。

-verbose
  • -java -verbose:class在程序运行的时候究竟会有多少类被加载;
  • -java –verbose:gc在虚拟机发生内存回收时在输出设备显示信息;
  • -java -verbose:jni输出native方法调用的相关情况,一般用于诊断jni调用错误信息。
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要查看Java应用程序的启动参数,可以通过以下两种方式之一: 1. 在命令行中运行Java程序时使用“-version”或“-X”选项。例如,使用以下命令查看Java版本和默认启动参数: ``` java -version ``` 或者 ``` java -X ``` 2. 在Java应用程序中使用System.getProperty()方法获取启动参数。例如,使用以下代码获取Java虚拟机的启动参数: ``` String vmArgs = System.getProperty("java.vm.arguments"); System.out.println("VM arguments: " + vmArgs); ``` Java启动参数的解析可以参考以下几个方面: 1. 标准参数:这些参数是由Java虚拟机定义的,用于控制其行为。例如,“-version”和“-help”等。 2. 非标准参数:这些参数是由Java虚拟机供应商定义的,通常用于调试和性能分析。例如,“-XX:MaxHeapSize”和“-XX:+PrintGC”等。 3. 应用程序参数:这些参数是应用程序特定的,并由应用程序的开发者定义。例如,“-Dmyapp.config=file.properties”等。 在解析Java启动参数时,需要注意以下几个方面: 1. 参数顺序:Java启动参数的顺序通常很重要。例如,“-Dmyapp.config=file.properties -jar myapp.jar”和“-jar myapp.jar -Dmyapp.config=file.properties”可能会产生不同的结果。 2. 参数类型:Java启动参数通常有不同的类型,例如字符串、整数、布尔值等。在解析参数时,需要将参数转换为正确的类型。 3. 参数值:Java启动参数的值通常需要进行验证和处理。例如,“-Xmx512m”需要验证其值是否合法,并将其转换为字节数等。 总之,Java启动参数的解析是一个复杂的过程,需要仔细考虑各种情况和可能的错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值