国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Java SimpleDateFormat線程安全問題原理詳解

瀏覽:4日期:2022-09-01 17:25:49

今天百度一些資料偶然發現SimpleDateFormat居然不是線程安全的,平時使用時根本沒有考慮,萬幸今天發現了這個問題,得把寫的代碼得翻出來整理一下了。

一般我們使用的SimpleDateFormat一般是這樣寫的:

public void method() { ... DateFormat dateFormat = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss'); Date date = dateFormat.parse('2020-05-10 19:53:00'); ...}

這樣寫完全沒有任何問題,但我們有時候會覺得重復創建SimpleDateFormat耗費性能,就想到把SimpleDateFormat對象做為類的靜態成員變量,那么代碼就是這樣了:

private static final DateFormat dateFormat = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');public void method() { ... Date date = dateFormat.parse('2020-05-10 19:53:00'); ...}

我經常在Controller做日期轉換的時候就是這么干的,但這樣寫很有問題,多線程通知執行容易出問題,要么轉換后的結果不對,要么報錯,我們測試一下:

public class DateUtils { private static final DateFormat dateFormat = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss'); public static Date prase(String date) throws ParseException { return dateFormat.parse(date); } static class Job extends Thread { @Override public void run() { try {System.out.println(this.getName() + ':' + DateUtils.prase('2020-05-10 19:53:00')); } catch (ParseException e) { } } } public static void main(String[] args) { for (int i = 0; i < 10; i++) { new Job().start(); } }}

測試結果如下:

Java SimpleDateFormat線程安全問題原理詳解

那有沒有好的解決方案呢,既不用重復創建對象,又保證線程安全呢?答案是有。

方法一:使用ThreadLocal

public class MyController { private static ThreadLocal<DateFormat> local = new ThreadLocal<DateFormat>() { protected DateFormat initialValue() { return new SimpleDateFormat('yyyy-MM-dd HH:mm:ss'); }; }; public void method() { ... Date date = local.get().parse('2020-05-10 19:53:00'); ... }}

方法二:使用第三方apache提供工具包commons-lang3

import org.apache.commons.lang3.time.FastDateFormat;public class MyController { public void method() { ... Date date = FastDateFormat.getInstance('yyyy-MM-dd HH:mm:ss').parse('2020-05-10 19:53:00'); ... }}

推薦使用第二種,既快有方便。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 色爱综合网| 欧美一级做一级爱a做片性 欧美一欧美一级毛片 | 国产99久久亚洲综合精品 | 91欧美在线 | 99re8免费视频精品全部 | 久久免费网 | 一级成人a做片免费 | 欧美一级特黄视频 | 亚洲高清色| 精品国产一区二区三区久 | 一级毛片免费 | 亚洲国产经典 | 国产younv真实 | 国产夜色 | 一级特黄aaa大片免费看 | 午夜免费一级片 | 国产精品久久久久久亚洲伦理 | 亚洲精品久久一区二区无卡 | 国产成人丝袜视频在线视频 | 毛片欧美 | 国产欧美视频一区二区三区 | 九九久久久久午夜精选 | 九九国产精品 | 精品国产午夜久久久久九九 | 手机在线观看一级午夜片 | 日韩欧美在线视频观看 | 美美女下面被cao爽 美女131爽爽爽做爰中文视频 | 亚洲美女在线观看亚洲美女 | 免费看a | 国产精品一区二区国产 | 国产精品青草久久久久福利99 | 欧美高清在线 | 成人永久免费视频网站在线观看 | 国产一区中文字幕在线观看 | 成人性色生活片全黄 | 性色午夜视频免费男人的天堂 | 国内在线精品 | 欧美日韩亚洲一区二区三区在线观看 | 一个人看的日本www的免费视频 | 偷拍小视频99在线 | 日韩一级在线播放免费观看 |