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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34169240/article/details/84935676

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

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

public static final SimpleDateFormat sdf= 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");

猜你喜欢

转载自blog.csdn.net/qq_34169240/article/details/84935676
今日推荐