我想知道 java 中的 System.setProperty 是否会导致为整个 JVM 设置属性。因此,如果我在方法中设置此属性,将为 weblogic 服务器中的整个 JVM 设置该属性。
问问题
500 次
1 回答
1
是的
java.lang.System#setProperty 源代码:
public static String setProperty(String key, String value) {
checkKey(key);
SecurityManager sm = getSecurityManager();
if (sm != null) {
sm.checkPermission(new PropertyPermission(key,
SecurityConstants.PROPERTY_WRITE_ACTION));
}
return (String) props.setProperty(key, value);
}
并且props
只是java.lang.System
.
private static Properties props;
所以,java.lang.System#setProperty
并且java.lang.System#getProperty
只是普通的静态方法。改变props
会影响整个JVM。
于 2013-07-22T01:13:20.800 回答