第一种;声明一个多线程内置得到时间戳,这样的话每一个都是单独的一个,线程安全性
/**
* 声明一个ThreadLocal 用于多线程当中使用 每一个使用一次释放之后再去创建实例 保证时间准确性以及数据隔离性
*/
private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>() {
@Override
protected DateFormat initialValue() {
return new SimpleDateFormat("yyyy-MM-dd");
}
};
取值时直接调用 threalLocal.get()方法即为DateFormat
DateFormat是SimpleDateFormat的父类
第二种:声明一个SimledateFormat的单例模式(不推荐)