为什么我们要在 Java 代码中设置系统属性?

MrN*_*lan 0 java system-properties

在 java 中,我们使用 System.SetProperties(Key, Value) 设置系统属性。我有以下相关问题。

  1. 我们在什么情况下在代码中设置系统属性?
  2. 我们如何确定Key?即我们如何知道我们应该为 Key 提供什么确切的字符串?

Oma*_*jid 5

你的问题太笼统了,任何答案都会含糊不清。如果你能更具体,你可能会得到更好的答案。

我们在什么情况下在代码中设置系统属性?

这就像问“我们什么时候应该使用 + 运算符”一样。答案毫不奇怪,是“仅在您需要时”。

系统属性让您可以配置 Java 运行时的部分(或您的应用程序服务器等)以不同的方式执行操作。当您发现问题并证明问题的正确解决方案是配置 Java 运行时以修改其行为时,这就是您需要查找是否存在系统属性的时候。如果有,您需要将其设置为一个值,以获得您想要的行为。

我们如何确定Key?即我们如何知道我们应该为 Key 提供什么确切的字符串?

通过文档,真的。假设您遇到了一个问题,foo.bar()但没有按照您的想法行事。或者它在对您很重要的情况下中断。您应该阅读foo.bar(). 它可能会说您可以通过设置系统属性来更改行为。然后将该系统属性设置为文档中提到的值。

注意:某些系统属性根本无法设置。或者更确切地说,您可以设置它们,但是在您的程序启动(main(string[])已被调用)之后更改它们没有任何效果。


我有这个小片段,用于查看所有当前设置的系统属性及其值。有助于探索和获得一些想法:

            final String SEPARATOR = "=";
            Properties properties = System.getProperties();
            for (Object property : properties.keySet()) {
                String prop = (String) property;
                System.out.println(prop + SEPARATOR + properties.getProperty(prop));
            }
Run Code Online (Sandbox Code Playgroud)