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