gpt4 book ai didi

java - 为什么 System.setProperty() 不能在运行时更改类路径?

转载 作者:太空狗 更新时间:2023-10-29 22:43:03 26 4
gpt4 key购买 nike

我指的是 question关于以编程方式更改类路径。

我阅读并发现在 System 类下有一些函数作为 getproperties,我们可以在其中检索属性,然后也可以使用 setProperties() 设置它。

但我得到的答案是它不会起作用。我自己没有尝试过,但是,我正在接电话。

澄清一下,如果这些 setProperty() 和 getProperty() 方法无法在运行时更改它,那么为什么它们在那里。还是这仅特定于类路径属性?

如果有人能提出一个他们真正有帮助的场景,我将不胜感激?

最佳答案

您当然可以在任何时候设置您想要的任何系统属性。问题是,会不会有影响?对于类路径,答案是否定的。系统类加载器在启动序列的很早的时候被初始化。它将类路径复制到自己的数据结构中,并且不会再次读取类路径属性。更改它不会影响系统。

这可能有两个原因。次要的原因是性能。您可能需要构建某种数据结构来快速查找资源,并且每次都重新解析类路径可能效率低下。更重要的原因是安全。您不希望流氓类更改您的类路径并加载另一个类的受损版本。

关于java - 为什么 System.setProperty() 不能在运行时更改类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271506/

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