Java启动命令可选项(options)
大致可分为标准和非标准两种,非标准的可选项不保证在所有平台上都实现,并且未来的版本中可能会被修改且不告知,是不稳定的(Unstable)。
标准可选项(Standard options) 使用最多的就是 -Dkey=value 设定系统属性值 。可以设定一些系统使用的属性,也可以用来传递自定义的参数。 可以通过System.getProperty("keyName") 来获取属性。
非标准可选项(Nonstandard Options)主要是设置一些虚拟机的参数, 非标准的可选项一般都是以 -X 开始,同时他还包含一个不稳定的不稳定(Unstable)的选项 不稳定的选项一般都是以 -XX 开头。
使用idea开发中可以通过配置增加程序参数、jvm参数、系统环境变量
VM options 一般以-D 、-X 或者-XX 开头,存在多个参数以空格隔开;
Program arguments 多个参数需要以空格隔开,否则将会被识别成一个参数;
Environment variable没有前缀,优先级低于 VM options,如果VM options变量和 Environment variable中的变量的key相同,则以VM options中为准,存在多个参数时以分号分割。
package com.danjiu.runtime.sentinel;import java.util.Map;import java.util.Properties;public class Test { public static void main(String[] args) { //program arguments对应的args参数 for (String arg : args) { System.out.println(arg); } //getProperty()获取java的环境变量 String value1 = System.getProperty("key1"); String value2 = System.getProperty("key2"); System.out.println("System.getProperty("key1")----->" + value1); System.out.println("System.getProperty("key2")----->" + value2);// Properties properties = System.getProperties();// System.out.println("System.getProperties():=======>" + properties); //System.getenv()获取运行jvm环境变量 // Map
运行结果:
--argu1=111--argu2=222System.getProperty("key1")----->v1System.getProperty("key2")----->v2System.getenv("env1")=======>testSystem.getenv("env2")=======>prod
参考:Java启动命令大观https://blog.csdn.net/kimylrong/article/details/17339263