阅读源码时,发现很多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"));

青鱼
268 声望25 粉丝

山就在那里,每走一步就近一些