看啥推荐读物
专栏名称: Java技术栈
专注分享Java技术干货,包括Java多线程、JVM、Spring Boot、Spring Cloud、Intellij IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
今天看啥  ›  专栏  ›  Java技术栈

SimpleDateFormat 为什么不是线程安全的?

Java技术栈  · 公众号  ·  · 2021-03-19 10:46
点击关注公众号,Java干货及时送达大家都说 SimpleDateFormat 不是线程安全的,到底哪里不安全呢?来看 SimpleDateFormat 类的源码注释:说的很清楚,SimpleDateFormat 不是线程安全的,多线程下需要为每个线程创建不同的实例。不安全的原因是因为使用了 Calendar 这个全局变量:在日期格式化的时候:这个 time 就会出现多线程并发设置安全问题,比如 A 线程在执行设置的时候,刚好被 B 线程抢先设置了,这样时间不就错乱了。其实在阿里巴巴 Java 开发手册中也规范的很清楚:如何获取这份完整手册,可以关注公众号:Java核心技术,在后台回复:手册。解决方法:其实在阿里巴巴 Java 开发手册中也给出了答案,现在栈长再总结下:1)尽量使用局部变量;2)如果要使用全局变量, ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照