gpt4 book ai didi

java - 在 Java 中使用系统属性

转载 作者:行者123 更新时间:2023-11-30 07:38:55 26 4
gpt4 key购买 nike

我有一个关于在 Java 中使用系统属性的问题。某些类(如 Authenticator)要求我们设置有关代理设置的系统属性,然后验证代理是否有效。

我的问题是我是否应该在使用完设置属性后删除它?

程序的其他部分可能正在使用这些属性,此更改将自动影响它们的功能。

有没有办法,我可以将属性设置为函数(一些包装类)的本地属性?

设置和使用系统属性的最佳做法是什么?

最佳答案

使用 System.properties 的事物应该具有对正在运行的 JVM 具有全局意义的属性,因此,例如,如果您设置了一个代理,它应该是该进程中的相关代理。

因此没有必要将它们设置回去。事实上,将它们设置回去可能会使某些 API 感到困惑,因为它们可能会假设它们始终会取回相关值,而不仅仅是在读取时缓存它。

当然,如果给定的 API 没有以这种方式使用它们,那么您可能会遇到问题,但这确实是给定 API 的问题,而不是系统属性的良好实践问题。

一般来说,由于线程和同步问题,最好只在 JVM 启动开始时(在命令行上或在启动其他线程之前在主线程中)设置系统属性,以达到期望在运行 JVM 的剩余时间里,这些值保持不变。

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

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