java - java中的系统属性

标签 java properties jvm

我想知道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#setPropertyjava.lang.System#getProperty只是普通的静态方法。更改 props 将影响整个 JVM。

关于java - java中的系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17735046/

相关文章:

python - 在 sqlalchemy 中绑定(bind)关系时分配变量

objective-c - 在 init 和 dealloc 方法中有效使用访问器?

java - 如何使用服务器上的 -Dlog4j.configuration=file :/path/to/log4j. 属性运行我的 flink 作业

java - 是否有适用于 Jython 或 JRuby 的框架,或者您可以在 JVM 上运行 py 或 ruby​​ 应用程序吗?

java - 为什么在 JVM 中 Integer 存储为 byte 和 short?

java - 您能否阻止 PHP 代码像 JavaEE 和 .NET 一样交付给您的客户端?

java - Selenium 检查窗口当前是否打开

java - 使用递归将其元素加起来为 n 的子集列表

java - 如果没有 @Inject 构造函数,则无法提供 Dagger2

java - 为什么当/tmp/.java_pid<num>套接字文件被删除时jstack不工作