摘要:所以悲觀鎖是限制其他線程,而樂觀鎖是限制自己,雖然他的名字有鎖,但是實(shí)際上不算上鎖,只是在最后操作的時(shí)候再判斷具體怎么操作。悲觀鎖和樂觀鎖比較悲觀鎖適合寫多讀少的場景。 最近在公司的業(yè)務(wù)上遇到了并發(fā)的問題,并且還是很常見的并發(fā)問題,算是低級(jí)的失誤了。由于公司業(yè)務(wù)相對比較復(fù)雜且不適合公開,在此用一個(gè)很常見的業(yè)務(wù)來還原一下場景,同時(shí)介紹悲觀鎖和樂觀鎖是如何解決這類并發(fā)問題的。 公司業(yè)務(wù)就是...
摘要:是一個(gè)及其精簡的輸出工具,誕生的背景是基于目前微服務(wù)開發(fā)接口,很多中小型項(xiàng)目開發(fā)人員在對接口測試時(shí)不僅需要使用等進(jìn)行業(yè)務(wù)接口測試,還需要對進(jìn)行自測。目前只需要開發(fā)人員引入后再啟動(dòng)類加入一行文件即可。中的路徑不要忽略。 SAPI是一個(gè)及其精簡的Restful API輸出工具,誕生的背景是基于目前微服務(wù)開發(fā)接口,很多中小型項(xiàng)目開發(fā)人員在對接口測試時(shí)不僅需要使用JUnit等進(jìn)行業(yè)務(wù)接口測試,...
摘要:開發(fā)中會(huì)遇到提工單的時(shí)候如果處理點(diǎn)擊多次的情況,后端使用分布式鎖實(shí)現(xiàn)。模擬秒殺服務(wù),在其中配置了線程池,在初始化的時(shí)候傳給分布式鎖,供其使用。 開發(fā)中會(huì)遇到提工單的時(shí)候如果處理點(diǎn)擊多次的情況,后端使用redis分布式鎖實(shí)現(xiàn)。 選用Redis實(shí)現(xiàn)分布式鎖原因 Redis有很高的性能 Redis命令對此支持較好,實(shí)現(xiàn)起來比較方便 實(shí)現(xiàn)思想 獲取鎖的時(shí)候,使用setnx加鎖,并使用ex...
摘要:簡介是平臺(tái)上一個(gè)輕量級(jí)數(shù)據(jù)存儲(chǔ)方式,用來保存應(yīng)用的一些常用配置,比如狀態(tài),暫停時(shí),將此的狀態(tài)保到中當(dāng)重載,系統(tǒng)回調(diào)方法時(shí),再從中將值取出。提供了常規(guī)的等類型數(shù)據(jù)的保存接口。一般這個(gè)文件存儲(chǔ)在下是指定讀寫方式,其值有四種。 簡介 SharedPreferences是Android平臺(tái)上一個(gè)輕量級(jí)數(shù)據(jù)存儲(chǔ)方式,用來保存應(yīng)用的一些常用配置,比如Activity狀態(tài),Activity暫停時(shí),...
Description A full binary tree is defined as a binary tree in which all nodes have either zero or two child nodes. Conversely, there is no node in a full binary tree, which has one child node. More in...
暫無介紹