在現(xiàn)代操作系統(tǒng)里,由于系統(tǒng)資源可能同時(shí)被多個(gè)應(yīng)用程序訪問,如果不加保護(hù),那各個(gè)應(yīng)用程序之間可能會(huì)產(chǎn)生沖突,對(duì)于惡意應(yīng)用程序更可能導(dǎo)致系統(tǒng)奔潰。這...
前一篇文章提到了限流的幾種常見算法,本文將分析guava限流類RateLimiter的實(shí)現(xiàn)。 RateLimiter有兩個(gè)實(shí)現(xiàn)類:SmoothB...
后端服務(wù)的接口都是有訪問上限的,如果外部QPS或并發(fā)量超過了訪問上限會(huì)導(dǎo)致應(yīng)用癱瘓。所以一般都會(huì)對(duì)接口調(diào)用加上限流保護(hù),防止超出預(yù)期的請(qǐng)求導(dǎo)致系...
剛做后端開發(fā)的時(shí)候,最早接觸的是基礎(chǔ)的spring,為了引用二方包提供bean,還需要在xml中增加對(duì)應(yīng)的包<context:component...
我們知道kafka是基于TCP連接的。其并沒有像很多中間件使用netty作為TCP服務(wù)器。而是自己基于Java NIO寫了一套。關(guān)于kafka為...
本文為死磕Synchronized底層實(shí)現(xiàn)第三篇文章,內(nèi)容為重量級(jí)鎖實(shí)現(xiàn)。 本系列文章將對(duì)HotSpot的synchronized鎖實(shí)現(xiàn)進(jìn)行全面...
本文為死磕Synchronized底層實(shí)現(xiàn)第三篇文章,內(nèi)容為輕量級(jí)鎖實(shí)現(xiàn)。 輕量級(jí)鎖并不復(fù)雜,其中很多內(nèi)容在偏向鎖一文中已提及過,與本文內(nèi)容會(huì)有...
本文為synchronized系列第二篇。主要內(nèi)容為分析偏向鎖的實(shí)現(xiàn)。 偏向鎖的誕生背景和基本原理在上文中已經(jīng)講過了,強(qiáng)烈建議在有看過上篇文章的...
關(guān)于synchronized的底層實(shí)現(xiàn),網(wǎng)上有很多文章了。但是很多文章要么作者根本沒看代碼,僅僅是根據(jù)網(wǎng)上其他文章總結(jié)、照搬而成,難免有些錯(cuò)誤;...