JVM学习系统参数与运行参数

system properties, VM flags, and VM arguments,前面两个通常合在一起叫做系统参数,后面一个叫做是运行参数。

VM flags:虚拟机参数(jvm参数),jps -lv (这里经测试有时候长度很长的话 显示不全)或者(jinfo -flags pid的Command line) 都可以获取 ,另外,在虚拟机参数里面通过-Dargname=argvalue,可以设置系统属性,在java代码里通过System.getProperties获取,在jinfo里通过jinfo -sysprops获取

Vm arguments:运行参数,jps -lm或者(jinfo -sysprops pid里面展示的sun.java.command)等 都可以获取

下面的options都是虚拟机参数(jvm参数),虚拟机参数分为三种,-X参数(-Xms512M),-XX参数(-XX:+PrintGC),剩下的就是标准参数

C:\Users\Administrator>java -help
用法: java [-options] class [args...]
           (执行类)
   或  java [-options] -jar jarfile [args...]
           (执行 jar 文件)
其中options包括:
    -d32          使用 32 位数据模型 (如果可用)
    -d64          使用 64 位数据模型 (如果可用)
    -server       选择 "server" VM
    -hotspot      是 "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
    -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>
                  使用指定的图像显示启动屏幕
原文地址:https://www.cnblogs.com/feibazhf/p/15795937.html