gpt4 book ai didi

使用日历和线程安全的 Java ResultSet.getTimestamp

转载 作者:行者123 更新时间:2023-12-01 04:31:22 25 4
gpt4 key购买 nike

我的要求:从数据库 ResultSet 获取时间戳(以 UTC 格式存储)并以线程安全的方式执行此操作。

我的代码目前如下所示:

Calendar utcCal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
while(rs.next())
rs.getTimestamp("utctime",utcCal);

...按预期工作;然而,为每个查询创建一个新的 Calendar 对象似乎成本相当高(它们非常频繁)。

我一直在看Joda-time作为可能的替代方案,但无法完全弄清楚如何用 Joda 时间线程安全对象替换 Calendar。理想的情况是创建一个所有查询都可以使用的静态最终 Joda-Time 线程安全日历替换。

对于成本更低的结果集迭代有什么想法吗?由于日历不是线程安全的,因此我无法使用单个共享实例。

最佳答案

使用synchronized关键字?

        synchronized (CALENDAR) {
CALENDAR.setTimeInMillis(System.currentTimeMillis());
while(rs.next()){
rs.getTimestamp("utctime", CALENDAR);
//rest of code
}
}

关于使用日历和线程安全的 Java ResultSet.getTimestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949289/

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