我想知道java中的System.setProperty是否会导致为整个JVM设置属性。如果我在方法中设置此属性将为weblogic服务器中的整个JVM设置。
答案 0 :(得分:1)
YES
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。