gpt4 book ai didi

java - 为什么Java要从系统中读取它的默认设置

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

Java 正在从安装它的系统中读取语言环境、时区和编码信息(可能还有更多)。

这通常会带来糟糕的惊喜(昨天刚给我带来了一个)。假设您的开发和生产服务器设置为 TimeZone GMT+2。然后在设置为 GMT 的生产服务器上进行部署。 2 小时轮类可能不容易立即观察到。尽管您可以将 TimeZone 传递给您的日历,但 API 可能会使用默认时区来实例化日历(或日期)。

现在,我知道应该小心这些设置,但很容易错过,因此使程序更容易出错。

那么,为什么 Java 没有自己的默认值 - UTF-8、GMT、en_US(是的,我在非 en_US 语言环境中,但将其作为默认值就可以了)。如果需要,应用程序可以通过一些 API 读取系统设置。

因此程序将更具可预测性。

那么,这个决定背后的原因是什么?

最佳答案

这不是 Java 独有的。许多系统默认为系统时区。毕竟,他们还能做什么?

时区是一个棘手的问题,尤其是当应用程序需要处理多个时区时。这就是为什么像这样的网站将所有内容都放在 UTC 中。

至于你的情况,很难评论,因为描述比较模糊,但听起来这是你的错误。如果您在 GMT+2 的一个地方保存一个日期(不带时区),然后在 GMT 的另一个地方加载它,那么您做错了什么。

关于java - 为什么Java要从系统中读取它的默认设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661374/

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