摘要:? 我在前面總結了Java集合中 "ArrayList的源碼細節" ,其中也提到了ArrayList是線程不安全的(沒有做任何的同步保證),也說到了fast fail機制以及多線程下使用ArrayList的異常問題。當然也包括單線程下使用不當: 。 ? 那么jdk中為我們提供的線程安全的List是什 閱讀全文
posted @ 2019-08-04 17:04 風沙迷了眼 閱讀(324) 評論(0) 推薦(0) 編輯
摘要:在并發編程中,我們可能經常需要用到線程安全的隊列,JDK提供了兩種模式的隊列:阻塞隊列和非阻塞隊列。阻塞隊列使用鎖實現,非阻塞隊列使用CAS實現。ConcurrentLinkedQueue是一個基于鏈表實現的無界線程安全隊列,對于。下面看看JDK是如何使用非阻塞的方式來實現線程安全隊列Concurr 閱讀全文
posted @ 2019-08-03 19:41 風沙迷了眼 閱讀(126) 評論(0) 推薦(0) 編輯
摘要:LinkedList概述 ? LinkedList 是 Java 集合框架中一個重要的實現,我們先簡述一下LinkedList的一些特點: 底層采用的 結構; 支持空值和重復值(List的特點); 實現Deque接口,具有雙端隊列的特性,也可以作為棧來使用; 存儲元素過程中,無需像 ArrayLis 閱讀全文
posted @ 2019-08-02 17:38 風沙迷了眼 閱讀(146) 評論(0) 推薦(0) 編輯
摘要:ArrayList概述 (1) 是一種變長的集合類,基于定長數組實現。 (2) 允許空值和重復元素,當往 ArrayList 中添加的元素數量大于其底層數組容量時,其會通過 擴容 機制重新生成一個更大的數組。 (3) 底層基于數組實現,所以其可以保證在 復雜度下完成隨機查找操作。 (4) 是非線程安 閱讀全文
posted @ 2019-08-01 17:11 風沙迷了眼 閱讀(891) 評論(0) 推薦(1) 編輯
摘要:HashMap的結構圖示 ? jdk1.7的HashMap采用數組+單鏈表實現,盡管定義了hash函數來避免沖突,但因為數組長度有限,還是會出現兩個不同的Key經過計算后在數組中的位置一樣,1.7版本中采用了鏈表來解決。 ? 從上面的簡易示圖中也能發現,如果位于鏈表中的結點過多,那么很顯然通過key 閱讀全文
posted @ 2019-07-31 19:23 風沙迷了眼 閱讀(293) 評論(1) 推薦(0) 編輯
摘要:AQS概述 ? AbstractQueuedSynchronizer抽象隊列同步器簡稱AQS,它是實現同步器的基礎組件,juc下面Lock的實現以及一些并發工具類就是通過AQS來實現的,這里我們通過AQS的類圖先看一下大概,下面我們總結一下AQS的實現原理。先看看AQS的類圖。 ? (1) AQS是 閱讀全文
posted @ 2019-07-31 10:24 風沙迷了眼 閱讀(6963) 評論(0) 推薦(1) 編輯
摘要:HashMap的結構圖示 ? 本文主要說的是jdk1.8版本中的實現。而1.8中HashMap是數組+鏈表+紅黑樹實現的,大概如下圖所示。后面還是主要介紹Hash Map中主要的一些成員以及方法原理。 ? 那么上述圖示中的結點Node具體類型是什么,源碼如下。Node是HashMap的內部類,實現了 閱讀全文
posted @ 2019-07-24 11:07 風沙迷了眼 閱讀(691) 評論(0) 推薦(3) 編輯
摘要:一、反射概述 反射機制指的是Java在運行時候有一種自觀的能力,能夠了解自身的情況為下一步做準備,其想表達的意思就是:在運行狀態中,對于任意一個類,都能夠獲取到這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性(包括私有的方法和屬性),這種動態獲取的信息以及動態調用對象的方法 閱讀全文
posted @ 2019-06-17 10:29 風沙迷了眼 閱讀(520) 評論(0) 推薦(0) 編輯
摘要:非阻塞同步:基于沖突檢測的樂觀并發策略,通俗講就是先進行操作,如果沒有其他線程爭用共享數據,那操作就成功了,如果爭用數據有沖突那就采用其他的補償措施(最常見的就是不斷重試直到成功),這種樂觀的并發策略使得很多線程不需要因為競爭失敗直接掛起,這種同步措施稱為非阻塞同步。下面我們就從硬件原語開始了解非阻 閱讀全文
posted @ 2019-06-15 16:43 風沙迷了眼 閱讀(248) 評論(0) 推薦(0) 編輯
摘要:一、ThreadLocal簡介 多線程訪問同一個共享變量的時候容易出現并發問題,特別是多個線程對一個變量進行寫入的時候,為了保證線程安全,一般使用者在訪問共享變量的時候需要進行額外的同步措施才能保證線程安全性。ThreadLocal是除了加鎖這種同步方式之外的一種保證一種規避多線程訪問出現線程不安全 閱讀全文
posted @ 2019-06-14 11:34 風沙迷了眼 閱讀(26032) 評論(6) 推薦(5) 編輯
四川金7乐历史开奖号码查询