2022
02-12
02-12
java的SimpleDateFormat线程不安全的几种解决方案
目录场景SimpleDateFormat线程为什么是线程不安全的呢?验证SimpleDateFormat线程不安全解决方案解决方案1:不要定义为static变量,使用局部变量解决方案2:加锁:synchronized锁和Lock锁加synchronized锁加Lock锁解决方案3:使用ThreadLocal方式解决方案4:使用DateTimeFormatter代替SimpleDateFormat解决方案5:使用FastDateFormat替换SimpleDateFormatFastDateFormat源码分析实践结论场景在java8以前,要格式化日期时间,就需...
继续阅读 >
首先我们应该知道线程安全问题一般发生在成员变量上,这是为什么啦?因为成员变量是存放在堆内存中,而堆内存又是线程共享的,这就造成了线程安全问题因为Spring中的Bean默认是单例的,所以在定义成员变量时也有可能会发生线程安全问题。下面我们就来研究下如何解决Spring中单例Bean的线程安全问题@RestController//@Scope("prototype")publicclassBeanController{privateintcontent=0;//基本类型线程不安全privateStri...