Bla*_*man 1 java spring datetime spring-mvc
在我的servlet中,当请求进来时,我创建了一个日期对象.
Date now = new Date();
Run Code Online (Sandbox Code Playgroud)
我想执行缓存查找,我需要创建一个帮助函数,将日期格式化为:
2012.04.24-10:34
这是: yyyy-MM-dd,HH:mm
我使用简单的日期格式:
public class DateHelpers {
public static final DateFormat minuteDateFormat = new SimpleDateFormat("yyyy-MM-dd,HH:mm", Locale.US);
public static String getDateKey(Date now) {
// use minuteDateFormat to format date
}
}
Run Code Online (Sandbox Code Playgroud)
但我正在阅读简单的日期格式不是线程安全的.
我没有将字符串解析为dateformat,所以也许有更好更快的方法来做到这一点?
我正在使用日期对象并将其格式化为字符串,并且它必须是线程安全的,因为许多请求将使用此DateHelper静态方法从日期获取密钥.
退后一步,如果你真的要求性能,我会避免格式化日期,只需使用unix时间戳作为键(即System.currentTimeMllis()).如果要基于现有日期对象进行查找,date.getTime()则为您提供时间戳.
如果你想将它舍入到一分钟,你可以将它除以并乘以60,000 - 它的速度更快,保证线程安全.
对于格式化日期的情况,我通常要么根据需要创建日期格式(它不是那么昂贵),或者我有一个实用程序对象池,我明确地与每个工作者关联.
线程本地解决方案将起作用,但随着时间的推移,很容易失去对所有TL的跟踪,并最终得到更难以调试的代码.
| 归档时间: |
|
| 查看次数: |
704 次 |
| 最近记录: |