
java1.8 hash算fa優(yōu)化 HashMap的數(shù)據(jù)結(jié)構(gòu):entry數(shù)組+鏈表/紅黑樹 一单起、根據(jù)key進行尋址(位運算) 二搏嗡、解決hash沖突 三采记、擴容
高并發(fā)系統(tǒng)下的性能優(yōu)化 主要思路有兩種: 提高系統(tǒng)的處理核心數(shù) 減少單次任務(wù)的相應(yīng)時間 怎么做到系統(tǒng)的高可用 高可用指的是:系統(tǒng)具備較高的無故障運行的能力唧龄。高可用的度量指標:...
原文鏈接:https://www.cnblogs.com/stateis0/p/9062133.html推薦看原文,原文排版很清晰 1. 什么是 ZAB 協(xié)議耽梅? ZAB 協(xié)議...
AQS(同步器)是用來構(gòu)建鎖和其他同步組件的基礎(chǔ)框架薛窥。它的實現(xiàn)主要是依賴一個int成員變量來標識同步狀態(tài)和一個同步隊列。同步器本身沒有實現(xiàn)任何同步接口褐墅,僅僅是定義了幾個pro...
場景:對賬系統(tǒng)最近越來越慢,老板讓優(yōu)化妥凳,用戶通過在線商城下單竟贯,會生成電子訂單,保存在訂單庫逝钥;之后物流會生成派送單給用戶發(fā)貨屑那,派送單保存在派送單庫。為了防止漏派送或者重復(fù)派送艘款,...
StampedLock Java在1.8這個版本里持际,提供了一種叫StampedLock的鎖,它的性能就比讀寫鎖還要好哗咆。 StampedLock支持的三種鎖模式 ReadWri...
ReadWriteLock 適用于讀多寫少的場景蜘欲,針對讀多寫少這種并發(fā)場景,Java SDK并發(fā)包提供了讀寫鎖——ReadWriteLock晌柬,非常容易使用姥份,并且性能很好。 讀...
Semaphore(信號量) 信號量可以簡單的概括為:一個計數(shù)器年碘,一個等待隊列澈歉,三個方法。在信號量模型里屿衅,計數(shù)器和等待隊列對外是透明的埃难,所以只能通過信號量模型提供的三個方法來...
并發(fā)編程是一個復(fù)雜的技術(shù)領(lǐng)域啦鸣,微觀上涉及到原子性問題潮饱、可見性問題和有序性問題,宏觀則表現(xiàn)為安全性诫给、活躍性以及性能問題 在設(shè)計并發(fā)程序的時候香拉,主要是從宏觀出發(fā): 安全性方面要注...
案例場景 例如賬戶A 轉(zhuǎn)賬戶B、賬戶C 轉(zhuǎn)賬戶D這兩個轉(zhuǎn)賬操作中狂。 這種方式采用了細粒度鎖凫碌。使用細粒度鎖可以提高并行度,是性能優(yōu)化的一個重要手段胃榕。 但是會出現(xiàn)一個新的問題就是死...
出現(xiàn)并發(fā)問題的三個源頭: 緩存導(dǎo)致多線程之間的可見性問題 線程之間切換帶來的原子性問題 時間片:操作系統(tǒng)允許某個線程執(zhí)行一小段時間盛险,例如50毫秒,過了50毫秒操作系統(tǒng)就會重新...
msyql的事務(wù)隔離級別如下: Read uncommitted(未提交讀) 事務(wù)中的修改,即使沒有提交,對其它事務(wù)也是可見的. 臟讀(Dirty Read). Read ...
使用“生產(chǎn)者-消費者模式”編寫代碼實現(xiàn):線程A隨機間隔(10~200ms)按順序生成1到100的數(shù)字(共100個)勋又,放到某個隊列中.線程B苦掘、C、D即時消費這些數(shù)據(jù)楔壤,線程B消費...