某股份制企业线上环境代码,有谁能说出bug在哪儿,并详细说明这段代码在JVM中的执行过程。
static {
DateFormat df=new SimpleDateFormat("yyyy-MM-dd" );
try{
NOW=df.parse(df.format(new Date()));
}catch (Exception e){
e.printStackTrace();
}
}
public static Date getNOW(){
return NOW;
}
某股份制企业线上环境代码,有谁能说出bug在哪儿,并详细说明这段代码在JVM中的执行过程。
static {
DateFormat df=new SimpleDateFormat("yyyy-MM-dd" );
try{
NOW=df.parse(df.format(new Date()));
}catch (Exception e){
e.printStackTrace();
}
}
public static Date getNOW(){
return NOW;
}
SimpleDateFormat 是线程不安全的,内部有一个 Calendar 对象引用 , 它用来储存和这个 sdf 相关的日期信息。
静态 SimpleDateFormat 多个线程共用,同时也是共享这个 Calendar 引用。