欢迎关注微信公众号: 程序员小圈圈
原文首发于: www.zhangruibin.com
本文出自于: RebornChang的博客
转载请标明出处^_^
Instant
在看阿里开发规范手册时,看到了这点:
【强制】SimpleDateFormat 是线程不安全的类,一般不要定义为static变量,如果定义为static,必须加锁,或者使用DateUtils工具类。 正例:注意线程安全,使用DateUtils。亦推荐如下处理:
private static final ThreadLocal df = new ThreadLocal() {
@Override
protected DateFormat initialValue() {
return new SimpleDateFormat(“yyyy-MM-dd”);
}
};
说明:如果是JDK8的应用,可以使用Instant代替Date,LocalDateTime代替Calendar,DateTimeFormatter代替Simpledateformatter,官方给出的解释:simple beautiful strong immutable thread-safe。
上面提到了两个知识点,Instant和LocalDateTime以及DateTimeFormatter。
细想之下之前对这个小知识还真的忽略了,所以来说下各个的用法。
Instant
通过查看源码我们可以看到,Instant implements Temporal, TemporalAdjuster, Comparable, Serializable
注释上写着&#