我想知道java中的System.setProperty是否会导致为整个JVM设置该属性。因此,如果我在方法中设置此属性,那么该属性将在weblogic服务器中为整个JVM设置。
最佳答案
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)静态成员。
private static Properties props;
因此,java.lang.System#setProperty
和java.lang.System#getProperty
只是普通的静态方法。更改 props
将影响整个 JVM。
关于java - java中的系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17735046/