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
你好吗
本文详细介绍了如何在Java中设置和获取JVM参数,包括在命令行通过`-D<名称>=<值>`设置系统属性,以及在IDEA中通过VM options配置。示例代码展示了如何在程序中读取和打印JVM参数,同时讲解了通过`System.getProperties()`动态修改系统属性的方法及其效果。
959

被折叠的 条评论
为什么被折叠?



