概述 Java8的兩個重大改變,一個是Lambdab表達式,另外一個就是Stream API表達式。Stream是Java8中處理集合的關(guān)鍵抽象概念,它可以對集合進行復(fù)雜的查...
消息監(jiān)聽 對于Kafka中Topic的數(shù)據(jù)消費,我們一般都選擇使用消息監(jiān)聽器進行消費,怎么把消息監(jiān)聽器玩出花來呢,那就得看看它所實現(xiàn)的功能了。Spring-Kafka中消息監(jiān)...
概述 ArrayList使我們從學習Java開始經(jīng)常使用到的一種集合類,也是我們在面試中經(jīng)常被面試官提起的一個知識點,仔細閱讀ArrayList的源碼,深入理解ArrayLi...
概述 對于Java來說萬物皆對象,所有的Java對象的最終父類都是Object,所以它們都擁有一組監(jiān)視器方法,主要包括:wait(),wait(long timeout),n...
概述 在并發(fā)編程中,為了解決線程安全問題,我們會高頻率的使用獨占式鎖,一般我們使用java提供的Synchronized關(guān)鍵字或java.util.concurrent中的R...
概述 重入鎖ReentrantLock,顧名思義,就是支持重進入的鎖,它表示能夠支持一個線程對資源的重復(fù)加鎖。除此之外,該鎖還支持獲取鎖時的公平和非公平選擇。Synchron...
概述 在前面我們初步認識了一下lock與AQS的基礎(chǔ)內(nèi)容,在同步組件的實現(xiàn)中,AQS是核心部分,我們通過AQS提供的模板方法來實現(xiàn)自定義同步組件,而底層的同步狀態(tài)修改、阻塞線...
1. AQS簡介 原創(chuàng)文章&經(jīng)驗總結(jié)&從校招到A廠一路陽光一路滄桑 詳情請戳www.codercc.com 在上一篇文章中我們對lock和AbstractQueuedSync...
概述 并發(fā)編程的目的是為了讓程序運行的更快,但并不是啟動更多的線程就能讓程序最大限度地并發(fā)執(zhí)行。如果想通過多線程使程序運行更快,那么將會面臨很多挑戰(zhàn)。 上下文切換 即使單核處...
概述 在學習java并發(fā)編程的過程中,java.util.concurrent包是我們需要學習和理解的關(guān)鍵之一,concurrent包的作者Doug Lea在其中為我們提供了...
線程安全的兩大核心 我們知道,出現(xiàn)線程安全的問題一般是因為主內(nèi)存和線程工作內(nèi)存數(shù)據(jù)不一致和重排序?qū)е碌模鉀Q線程安全問題,最重要的就是理解這兩種問題是怎么來的,而理解他們的...
原創(chuàng)文章&經(jīng)驗總結(jié)&從校招到A廠一路陽光一路滄桑 詳情請戳www.codercc.com 1. 三大性質(zhì)簡介 在并發(fā)編程中分析線程安全的問題時往往需要切入點,那就是兩大核心:...
概述 先了解一下基本概念。線程是操作系統(tǒng)能夠進行運算調(diào)度的最小單位。它被包含在進程中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發(fā)多個...
1 前段時間的甲骨文裁員事件,可謂吸睛無數(shù)。 5月初,《21 世紀經(jīng)濟報道》稱,甲骨文公司召開全員大會,確定對中國研發(fā)中心進行裁員調(diào)整,被裁退的員工將普遍獲得「N(工作年限)...