阅读源码时,发现很多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"));
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。