gpt4 book ai didi

java - 如果我在调用 JVM 时多次指定系统属性,使用哪个值?

转载 作者:IT老高 更新时间:2023-10-28 21:01:04 25 4
gpt4 key购买 nike

如果我在调用 JVM 时多次指定系统属性,当我检索该属性时,我实际会得到哪个值?例如

java -Dprop=A -Dprop=B -jar my.jar

当我调用 System.getProperty("prop"); 会有什么结果?

Java documentation在这方面并没有真正告诉我任何有用的东西。

在我对几台运行不同 JVM 的机器进行的非科学测试中,最后一个值似乎是返回的值(这实际上是我需要的行为),但我想知道这种行为是否实际上是在任何地方正式定义的,或者可以JVM 之间的差异?

最佳答案

没有什么比编写一个小类来看看它是如何工作的更好的了。

public class PropTest {

public static void main(String[] args) {
System.out.println(System.getProperty("prop"));
}

}

使用命令行编译和运行时

java -Dprop=A -Dprop=B -Dprop=C PropTest

产生输出

C

这意味着将值从左到右放入表中,最后一个值覆盖以前的值。

只是为了记下环境,Fedora 16, Linux 3.3.7, 64 bit

> java -version

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (fedora-65.1.11.1.fc16-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

关于java - 如果我在调用 JVM 时多次指定系统属性,使用哪个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10956676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com