Duplicated Code(重復(fù)代碼) 如果你在一個以上的地點(diǎn)看到相同的程序結(jié)構(gòu)牌里,那么可以肯定:設(shè)法將它們合而為一纳猫,程序會變得更好。 場景1:同一個類中吭从,兩個函數(shù)含有相同...
ThreadLocal是一個線程內(nèi)部的數(shù)據(jù)存儲類,通過它可以在同一個線程內(nèi)共享數(shù)據(jù)枚钓。 ThreadLocal原理 代碼分析 從demo說起 根據(jù)上面的demo代碼唆姐,我們就從g...
緣起Sonar-lint 事情起因于公司要求對代碼質(zhì)量的提升,所以在代碼提交到git倉庫之前舞竿,首先要使用Sonar-lint來掃描一下代碼京景,將比較嚴(yán)重的問題修改之后才能提交到...
設(shè)計(jì)原則 單一職責(zé)原則 一個類只負(fù)責(zé)一個功能領(lǐng)域中的相應(yīng)職責(zé),或者可以定義為:就一個類而言伴逸,應(yīng)該只有一個引起它變化的原因较鼓。 單一職責(zé)原則是實(shí)現(xiàn)高內(nèi)聚、低耦合的指導(dǎo)方針违柏。 開閉...
常見的互聯(lián)網(wǎng)分布式系統(tǒng)架構(gòu)分幾層博烂,一般如下: 客戶端層:比如用戶瀏覽器,APP端 反向代理層:技術(shù)選型Nginx或者F5等 Web層:前后端分離場景下漱竖,Web端可以用Node...
數(shù)據(jù)可靠性 Producer往Broker發(fā)送消息 為了讓用戶設(shè)置數(shù)據(jù)可靠性禽篱,kafka在Producer里面體用了消息確認(rèn)機(jī)制。也就是說我們可以通過配置來決定有幾個副本收到...
基礎(chǔ)概念 Topic 一個topic相當(dāng)于一個數(shù)據(jù)庫中的表馍惹,同一類數(shù)據(jù)“存儲”在一個topic中躺率。topic只是一個邏輯概念,具體數(shù)據(jù)存儲在partition中万矾。 Parti...
10X程序員工作法 四個思考原則 為什么要做這個特性,它會個用戶帶來怎樣的價值漫玄? 什么樣的用戶會用到這個特性茄蚯,他們在什么場景下使用,他們又會怎樣使用它睦优? 達(dá)成這個目的是否有其...
https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247484877&idx=1&sn=f54d41b68f0cd...
https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485068&idx=1&sn=c37267fe59978...
并發(fā)三問題 重排序 內(nèi)存可見性 原子性 1. 重排序 觀察代碼可以發(fā)現(xiàn)渗常,如果沒有意外情況發(fā)生的話,在上下兩個線程中刨秆,出現(xiàn)的結(jié)果應(yīng)該下面三種情況 x= 0 ,y = 1; x...
事務(wù)隔離級別 隔離級別臟讀不可重復(fù)讀幻讀READ-UNCOMMITTED是是是READ-COMMITTED否是是REPEATABLE-READ否否是SERIALIZABLE否...
單元測試--Java 使用mockito+powermock進(jìn)行java單元測試 實(shí)例 如下一個正常業(yè)務(wù)代碼衡未,接下來就對HelloController.say方法進(jìn)行單元測試...