2013-07-18 129 views
0

我想知道java中的System.setProperty是否會導致爲整個JVM設置屬性。因此,如果我在方法中設置此屬性,將爲Weblogic服務器中的整個JVM設置屬性。java中的系統屬性

+0

[Java系統屬性的範圍]的可能重複(http://stackoverflow.com/questions/908903/scope-of-the-java-system-properties) –

+1

簡短答案是肯定的......假設你實際上只談論一個JVM而不是多個JVM。閱讀鏈接的問答 –

回答

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#setPropertyjava.lang.System#getProperty只是普通的靜態方法。更改props會影響整個JVM。