概述 在前面我們初步認(rèn)識了一下lock與AQS的基礎(chǔ)內(nèi)容匹厘,在同步組件的實現(xiàn)中,AQS是核心部分,我們通過AQS提供的模板方法來實現(xiàn)自定義同步組件肄满,而底層的同步狀態(tài)修改、阻塞線...
概述 在前面我們初步認(rèn)識了一下lock與AQS的基礎(chǔ)內(nèi)容匹厘,在同步組件的實現(xiàn)中,AQS是核心部分,我們通過AQS提供的模板方法來實現(xiàn)自定義同步組件肄满,而底層的同步狀態(tài)修改、阻塞線...
概述 在學(xué)習(xí)java并發(fā)編程的過程中朽缎,java.util.concurrent包是我們需要學(xué)習(xí)和理解的關(guān)鍵之一沃缘,concurrent包的作者Doug Lea在其中為我們提供了...
注:該文章源碼基于JDK1.8 概述 HashMap實現(xiàn)了Serializable和cloneable接口,繼承了AbstractMap類鞭达。我們先來看下HashMap的圖解:...
本文源碼都基于JDK1.8 概述 Java是一門面向?qū)ο蟮木幊陶Z言司忱,在Java的世界里,萬物皆對象畴蹭。而Object是一切對象的祖先坦仍。所以理解Object的常用方法就非常必要了...
本文源碼基于JDK1.8 概述 String并不屬于Java八大基礎(chǔ)類型中的一種,但是其使用頻率卻不比任何一種基礎(chǔ)類型低叨襟,所以了解String的常用方法和一些相關(guān)類就顯得尤為...
概述 上一篇文章Java鎖分類中桨踪,有提到一種分類的思想:樂觀鎖和悲觀鎖。悲觀鎖芹啥,總認(rèn)為每次訪問共享資源的時候锻离,都有可能發(fā)生資源競爭,所以在線程獲取到共享資源后墓怀,需要加鎖汽纠,其余...
概述 先了解一下基本概念。線程是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位傀履。它被包含在進(jìn)程中虱朵,是進(jìn)程中的實際運(yùn)作單位。一條線程指的是進(jìn)程中一個單一順序的控制流钓账,一個進(jìn)程中可以并發(fā)多個...
線程安全的兩大核心 我們知道碴犬,出現(xiàn)線程安全的問題一般是因為主內(nèi)存和線程工作內(nèi)存數(shù)據(jù)不一致和重排序?qū)е碌模鉀Q線程安全問題梆暮,最重要的就是理解這兩種問題是怎么來的服协,而理解他們的...
注:本文所有源碼基于JDK1.8 概述 前面我們已經(jīng)分析了HashMap,TreeMap這兩種常用的Map類型啦粹,但是這兩種類型都是線程不安全的偿荷。下面我們來看一下Map中最老牌...