1

我想知道 java 中的 System.setProperty 是否会导致为整个 JVM 设置属性。因此,如果我在方法中设置此属性,将为 weblogic 服务器中的整个 JVM 设置该属性。

4

1 回答 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 回答