阅读源码时,发现很多System.getProperty("xxx")
,理所当然会想:what's fucking this?
翻阅资料后,Get该技能,姿势如下:
环境中的全部属性 System.getProperties()
//1.全部属性//注意:如果将本行代码放在自定义属性之后,会不会打出把自定义属性也给获取到?可以//结论:System.getProperties()会获取目前环境中(JVM)全部的属性值,无论系统提供还是个人定义System.out.printf("系统提供属性:\n%s\n",System.getProperties());
代码中定义属性 System.setProperty("xxx")
//2.用户代码自定义final String manualPropertyName = "manual.property.myname";System.setProperty(manualPropertyName, "liuzijian");System.out.printf("用户自定义属性:%s=%s\n",manualPropertyName,System.getProperty(manualPropertyName));
启动参数指定 -Dkey=val
//配置vm arguments:-Dmanual.property.age=28,与jar启动时的参数(java -D xx.jar)一回事final String manualPropertyAge = "manual.property.age";System.out.printf("用户自定义属性:%s=%s\n",manualPropertyAge, //重载方法,如果key未指定,将打印defalut输出 System.getProperty(manualPropertyAge,"no age property defined"));