gpt4 book ai didi

java - 带缓存的 ZoneOffset 计算

转载 作者:行者123 更新时间:2023-12-01 23:45:03 26 4
gpt4 key购买 nike

为什么只有当 TotalSeconds 是一刻钟的倍数时,ZoneOffset.ofTotalSeconds(int TotalSeconds)才对 ZoneOffset 使用缓存?

if (totalSeconds % (15 * SECONDS_PER_MINUTE) == 0) {
Integer totalSecs = totalSeconds;
ZoneOffset result = SECONDS_CACHE.get(totalSecs);
if (result == null) {
(...)

最佳答案

例如,迄今为止,当今使用的最多区域偏移量是一刻钟的倍数

Europe/Ljubljana     +02:00
America/Boa_Vista -04:00
Asia/Brunei +08:00
Pacific/Wake +12:00
Asia/Colombo +05:30
Asia/Kathmandu +05:45

由于经常使用此类内容,因此值得对其进行缓存。如果在您的程序中使用,它们不太可能在您的程序或在同一 JVM 中运行的另一个程序中再次使用。其他偏移量历史上已经使用过或根本没有使用过,因此不值得缓存。即使您使用过一次,他们也认为您再次使用相同的可能性足够低,以至于他们不想缓存它,直到 JVM 关闭(可能是几周甚至几个月后)。

我并不是自称是读心者,但我给出的解释对我自己来说是有道理的,我认为即使不是 100% 正确,它也捕获了决策背后最重要的想法。事情稍微复杂一些。例如,并没有使用许多不能被整小时整除的偏移量,但他们选择了一个简单的条件。

关于java - 带缓存的 ZoneOffset 计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58244205/

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