idea程序参数,VM选项,环境变量

一.名称简介

程序参数:Program arguments

VM选项:    VM options

环境变量:  Environment variables

 二.规则简介

2.1.Program arguments 多个参数需要以空格隔开,否则将会被识别成一个参数;

2.2.VM options 一般以-D -X 或者-XX 开头,存在多个参数以空格隔开;

2.3. Environment variables没有前缀,存在多个参数时,以分号分割;

三.优先级

     Program arguments (--priority=program-agrs) > VM options (-Dpriority=vm-options)

     > Environment variable (priority=environment-variables)

    四.代码示例和结果

    public static void main(String[] args) {
        // program arguments对应的args参数
        // 程序参数
        for (String arg : args) {
            System.out.println(arg);
        }

        // JVM变量
        String value1 = System.getProperty("key1");
        String value2 = System.getProperty("key2");
        System.out.println("System.getProperty(\"key1\")----->" + value1);
        System.out.println("System.getProperty(\"key2\")----->" + value2);
        String priority = System.getProperty("priority");
        System.out.println("System.getProperty(\"priority\")----->" + priority);



        // 操作系统变量
        String env1 = System.getenv("env1");
        String env2 = System.getenv("env2");
        String env_priority = System.getenv("priority");
        System.out.println("System.getenv(\"env1\")=======>" + env1);
        System.out.println("System.getenv(\"env2\")=======>" + env2);
        System.out.println("System.getenv(\"priority\")=======>" + env_priority);
        String foo_upper = System.getenv("FOO");
        String foo_lower = System.getenv("foo");
        String foo_insenstive = System.getenv("fOo");
        String path_insenstive = System.getenv("path");
        String java_home = System.getenv("java_Home");
        System.out.println("foo_upper = " + foo_upper);
        System.out.println("foo_lower = " + foo_lower);
        System.out.println("foo_insenstive = " + foo_insenstive);
        System.out.println("path_insenstive = " + path_insenstive);
        System.out.println("java_home = " + java_home);


    }

 结果:

五.总结 

5.1.Environment variable包含了JAVA_HOME在内的系统变量

5.2.Environment variable和操作系统有关,例如windows里无区分变量大小写

5.3.优先级程序参数 > VM选项 > 环境变量

参考文档

idea程序参数program arguments,vm arguments,Environment variable_罗罗诺亚F的博客-优快云博客Java启动命令可选项(options)大致可分为标准和非标准两种,非标准的可选项不保证在所有平台上都实现,并且未来的版本中可能会被修改且不告知,是不稳定的(Unstable)。标准可选项(Standard options) 使用最多的就是 -Dkey=value 设定系统属性值 。可以设定一些系统使用的属性,也可以用来传递自定义的参数。 可以通过System.getProperty("keyName") 来获取属性。非标准可选项(Nonstandard Options)主要是设置一些虚拟机的参https://blog.youkuaiyun.com/Tracycater/article/details/122894490

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值