前言 數(shù)據(jù)庫(kù)應(yīng)該是所有后端開(kāi)發(fā)都會(huì)涉及的,數(shù)據(jù)庫(kù)事務(wù)型奥,很多業(yè)務(wù)場(chǎng)景可能并不要求很高车摄,而且也很少出現(xiàn)榨婆,經(jīng)常出現(xiàn)在高并發(fā)顺少,高流量的情況下枢赔,在未來(lái)迎接挑戰(zhàn)的時(shí)候桅咆,需要掌握相關(guān)的知識(shí)...
前言 數(shù)據(jù)庫(kù)應(yīng)該是所有后端開(kāi)發(fā)都會(huì)涉及的,數(shù)據(jù)庫(kù)事務(wù)型奥,很多業(yè)務(wù)場(chǎng)景可能并不要求很高车摄,而且也很少出現(xiàn)榨婆,經(jīng)常出現(xiàn)在高并發(fā)顺少,高流量的情況下枢赔,在未來(lái)迎接挑戰(zhàn)的時(shí)候桅咆,需要掌握相關(guān)的知識(shí)...
(一)前言 因?yàn)楣究蚣苁褂昧薲ubbo作為RPC框架括授,所以,對(duì)于dubbo進(jìn)行相應(yīng)的學(xué)習(xí)轧邪,通過(guò)官網(wǎng)的學(xué)習(xí)刽脖,源碼的閱讀,總結(jié)出以下的內(nèi)容忌愚,希望對(duì)dubbo有個(gè)更全面的認(rèn)識(shí)曲管,同...
前言 了解dubbo的時(shí)候,因?yàn)镾PI機(jī)制用到了動(dòng)態(tài)代理的機(jī)制硕糊,從而涉及到了類加載機(jī)制相關(guān)的東西院水,整個(gè)概念也屬于非常底層的邏輯,也好久沒(méi)整理了简十,現(xiàn)整理一下檬某,便于后續(xù)翻閱。盡可...
前言 在使用數(shù)據(jù)庫(kù)的時(shí)候螟蝙,最需要了解的知識(shí)點(diǎn)肯定就是索引恢恼,所以,針對(duì)索引希望能夠整理出一些知識(shí)點(diǎn)胰默,做個(gè)簡(jiǎn)單總結(jié)场斑。 索引結(jié)構(gòu) B+樹(shù) B+樹(shù)在之前的文章中已經(jīng)做了簡(jiǎn)單介紹多種樹(shù)...
(一)二叉樹(shù) 二叉樹(shù)指的是每個(gè)節(jié)點(diǎn)最多只能有兩個(gè)子樹(shù)的有序樹(shù)漓踢。 二叉樹(shù)特點(diǎn) 每個(gè)結(jié)點(diǎn)最多有兩顆子樹(shù),所以二叉樹(shù)中不存在度大于2的結(jié)點(diǎn)漏隐。 左子樹(shù)和右子樹(shù)是有順序的喧半,次序不能任意...
前言 繼之前synchronized關(guān)鍵字之后,這里旨在介紹常見(jiàn)的鎖概念青责,源碼相關(guān)挺据。內(nèi)容會(huì)進(jìn)行不定時(shí)更新,希望能更完善的整理鎖相關(guān)知識(shí)點(diǎn)脖隶。 公平鎖和非公平鎖 1.公平鎖 多個(gè)...
前言 關(guān)鍵字 synchronized可以保證在同一個(gè)時(shí)刻扁耐,只有一個(gè)線程可以執(zhí)行某個(gè)方法或者某個(gè)代碼塊(主要是對(duì)方法或者代碼塊中存在共享數(shù)據(jù)的操作),同時(shí)我們還應(yīng)該注意到sy...
(一)前言 學(xué)習(xí)多線程产阱,要理解java內(nèi)存模型做葵,才能理解多線程情況下,數(shù)據(jù)的變化心墅,指令的運(yùn)行等,才能更好的了解多線程的運(yùn)行情況和日常使用的注意點(diǎn)榨乎。 (二)JMM與硬件內(nèi)存結(jié)構(gòu)...
前言 用過(guò)redis的人怎燥,或者去面試的人被問(wèn)redis的問(wèn)題,基本都會(huì)了解redis特別快蜜暑。redis高校的原因: 1.單線程铐姚,減少了線程切換的消耗。 2.基于內(nèi)存操作 3....
前言 在閱讀公司自主封裝的jedis源碼過(guò)程中缀蹄,了解到sentinel集群連接多個(gè)master峭跳,當(dāng)客戶端連接sentinel獲取對(duì)應(yīng)key的主節(jié)點(diǎn)信息時(shí),用到了一致性hash...
前言 因?yàn)橹熬€上redis集群主從切換缺前,client端未感知蛀醉,導(dǎo)致往從庫(kù)寫數(shù)據(jù)報(bào)錯(cuò),所以學(xué)習(xí)并整理了redis集群相關(guān)知識(shí)點(diǎn)衅码。 主從復(fù)制 主從復(fù)制拯刁,是只從一臺(tái)redis服務(wù)...
1.線上問(wèn)題進(jìn)程排查 通常我們會(huì)在線上發(fā)現(xiàn)一些內(nèi)存占用或者CPU占用比較高的進(jìn)程.使用top指定,我們可以看到當(dāng)前服務(wù)器占用CPU和內(nèi)存較高的一些進(jìn)程逝段。同時(shí)垛玻,我們可以通過(guò)lo...
1.redis是一個(gè)基于內(nèi)存的高性能key-value數(shù)據(jù)庫(kù)割捅。 2.redis是單線程的,利用IO多路復(fù)用技術(shù)將并發(fā)訪問(wèn)變?yōu)榇性L問(wèn)夭谤,同時(shí)提高了訪問(wèn)效率棺牧,以及原子化。 3.r...
緩存穿透 緩存穿透是指用戶請(qǐng)求的數(shù)據(jù)在緩存中不存在即沒(méi)有命中醉锄,同時(shí)在數(shù)據(jù)庫(kù)中也不存在乏悄,導(dǎo)致用戶每次請(qǐng)求該數(shù)據(jù)都要去數(shù)據(jù)庫(kù)中查詢一遍,然后返回空恳不。 常見(jiàn)與惡意攻擊時(shí)檩小,不斷請(qǐng)求系...
概念 基于池化思想管理和使用線程的機(jī)制 優(yōu)點(diǎn) 降低資源消耗:重復(fù)利用已創(chuàng)建的線程,降低線程創(chuàng)建和銷毀曹成的損耗 提高響應(yīng)速度:無(wú)需等待線程創(chuàng)建可立即執(zhí)行 提高線程的可管理性:...
前言 在java開(kāi)發(fā)過(guò)程中烟勋,基本都會(huì)用到spring规求,說(shuō)起spring就會(huì)講到bean的生命周期,這里通過(guò)@autowired從源碼角度來(lái)講解bean的生命周期卵惦。 @Auto...