欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java.text.DateFormat类的format(),parse()等方法不是线程安全的,所以一定不要把此变量定义成全局的静态变量

程序员文章站 2022-04-04 21:23:31
...

在使用:java.text.DateFormat类时,请注意他的format(),parse()等方法不是线程安全的,一定不要把此变量定义成全局的静态变量,否在在多线程的并发环境里会发生你意想不到的错误!!!

 例如,不要定义成一下样子:

 

public static final SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 一定要把:java.text.DateFormat作为局部变量来使用

 

或者可以用FastDateFormat.format(); 代替SimpleDateFormat.format();

因为:SimpleDateFormat是非线程安全的,FastDateFormat线程安全,所以可以用FastDateFormat 替换SimpleDateFormat

private final FastDateFormat sdf = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss");
//	private final DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 

相关标签: date