您好,登錄后才能下訂單哦!
本篇內容主要講解“SimpleDateFormat類線程不安全如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SimpleDateFormat類線程不安全如何解決”吧!
背景: java8前使用Date和SimpleDateFormat來處理時間。這將帶來的問題如下:Date屬性可以從新賦值;當SimpleDateFormat在定義為靜態變量時,在多線程情況下會出現線程時間格式化問題。
解決方案:
Date屬性可以重新賦值問題解決方案:
在get方法中創建新的Date對象返回
SimpleDateFormat線程安全問題解決方法:
1 當定義為靜態變量時加鎖 2 每次調用都新建一個對象 3 使用線程安全類替換
Java8提供的時間格式化線程安全類:LocalDateTime
獲取當前時間: LocalDateTime.now()
字符串轉時間:
String pattern = "yyyy-MM-dd HH:mm:ss";
dateStr = "2019-01-01 12:12:12";
localDateTime = LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern(pattern));
時間轉字符串:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
String format = formatter.format(now);
時間轉時間戳
LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli(); `
到此,相信大家對“SimpleDateFormat類線程不安全如何解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。