java:jvm参数设置

java:jvm参数设置

1 前言

jvm参数设置后,可通过System.getProperties()或者System.getProperty(“jdbc.drivers”)来获取特定的jvm参数。

2 使用

输入java命令,查看jvm参数的格式:

在这里插入图片描述

系统属性即可通过System获取,命令格式如下:

-D<名称>=<>

2.1 javac命令执行时,添加-D<名称>=<值>参数,添加系统属性

于项目的src/main/java路径下新建Ha.java文件:

在这里插入图片描述

Ha.java:

import java.util.Arrays;
import java.util.Map;
import java.util.Properties;

/**
 * @author xiaoxu
 * @date 2022-09-03 18:15
 * FruitMall:PACKAGE_NAME.Ha
 */
public class Ha {
    public static void main(String[] args) {
        System.out.println("参数来了哈哈哈"+Arrays.toString(args));
        Properties properties = System.getProperties();
        System.out.println("jvm参数:"+System.getProperty("jdbc.drivers"));
        for(Map.Entry<Object, Object> entry:properties.entrySet()){
            if(entry.getKey().toString().startsWith("jdbc.drivers")){
                System.out.println("*********");
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
            }
        }
        System.out.println("你好吗");
    }
}

使用javac命令编译java源文件为.class文件(idea的terminal终端下进行):

路径需为Ha.java所处目录下:

在这里插入图片描述

javac -encoding UTF-8 Ha.java

编译完成后:
在这里插入图片描述

然后执行java命令时,添加jvm参数:

在这里插入图片描述

注意:java命令执行时,Ha后缀不要加上.java

java -Djdbc.drivers=nihao Ha

若执行java命令时,没有添加系统属性,则如下:

java Ha
参数来了哈哈哈[]
jvm参数:null
你好吗

每次修改了java源文件,都需要使用javac重新进行编译

2.2 idea配置执行时的jvm参数

在这里插入图片描述
在Vm options里添加:

-Djdbc.drivers=xiaoxuDriver

在这里插入图片描述

直接执行Ha的main方法,结果如下:

参数来了哈哈哈[]
jvm参数:xiaoxuDriver
*********
jdbc.drivers
xiaoxuDriver
你好吗

2.3 使用System为系统属性赋值

Properties prop = System.getProperties();
prop.put("jdbc.drivers","xiaoxuCodeSet");
import java.util.Arrays;
import java.util.Map;
import java.util.Properties;

/**
 * @author xiaoxu
 * @date 2022-09-03 18:15
 * FruitMall:PACKAGE_NAME.Ha
 */
public class Ha {
    public static void main(String[] args) {
        System.out.println("参数来了哈哈哈"+Arrays.toString(args));
        Properties prop = System.getProperties();
        prop.put("jdbc.drivers","xiaoxuCodeSet");
//        System.setProperties(prop);
        System.out.println("jvm参数:"+System.getProperty("jdbc.drivers"));
        for(Map.Entry<Object, Object> entry:prop.entrySet()){
            if(entry.getKey().toString().startsWith("jdbc.drivers")){
                System.out.println("*********");
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
            }
        }
        System.out.println("你好吗");
    }
}

执行结果如下:

参数来了哈哈哈[]
jvm参数:xiaoxuCodeSet
*********
jdbc.drivers
xiaoxuCodeSet
你好吗
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值