午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

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

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

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

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'); ...}

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

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(); } }}

測試結(jié)果如下:

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

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

方法一:使用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'); ... }}

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美精品一级片 | 婷婷丁香花五月天 | 久久影音 | 男人的天堂中文字幕 | 成人h视频在线 | 日韩在线免费观看视频 | 少妇又色又爽又黄的视频 | 欧美午夜理伦三级在线观看 | 国产最新精品视频 | 王语嫣跪趴高撅翘臀含白浆 | 伊人成人在线观看 | 国产精品欧美激情在线 | 中日韩三级 | 国产成人精品av在线观 | www.xxxx日本 | 插的太深了 | 日韩一区二区三区视频 | 欧美午夜精品一区二区三区 | 超碰天堂| 精品人人人 | 午夜私人影院在线观看 | 中文字幕亚洲精品在线 | 国产毛片欧美毛片久久久 | 中文字幕在线观看你懂的 | 国内视频一区 | 深夜成人福利视频 | 欧美黄色录像片 | 69av网| 久久精品午夜 | 成人黄色免费看 | 国产原创视频在线观看 | 天堂在线观看av | 欧美成人免费 | 伊人亚洲综合 | 久草免费在线视频观看 | 蜜桃91丨九色丨蝌蚪91桃色 | 在线视频中文字幕 | 欧美黄色录像视频 | 九九国产精品视频 | 男人操女人免费网站 | 欧美日本日韩 |