最近在翻《java核心技术第十版》,看到第七章日志部分,说到java标准类库的logging日志时,说其配置文件可以指定成自己的配置文件,然后直接甩给我一串代码 -Djava.util.logging.config.file=configFile MainClass
???-D是什么?从来没用过!经过查找资料得知 -D是jvm启动时给系统参数赋值用的(可以是系统默认有的参数,也可以是自己定义的参数),这个过程会在jvm开始java应用程序之前执行。这个参数赋值也可以通过使用System.setProperty(key, value);来完成。
那么虚拟机默认的系统参数有哪些呢?可以通过如下方法来查看
package com.guangzhou.study.log;
import java.util.Properties;
import java.util.Set;
public class TestLogger {
public static void main(String[] args) {
Properties properties = System.getProperties();
Set<Object> keys = properties.keySet();
for (Object key : keys) {
if (key instanceof String) {
System.out.println("key :" + key + " and value :" + System.getProperty((String) key));
}
}
}
}
执行结果如下:
key :java.runtime.name and value :Java(TM) SE Runtime Environment
key :sun.boot.library.path and value :C:\Program Files\Java\jdk1.8.0_181\jre\bin
key :java.vm.versio