在開發(fā)過程中,通常會(huì)有一個(gè)接口被很多個(gè)上游調(diào)用或者Request里面有一個(gè)消息類型,我們需要根據(jù)具體的消息類型去做對(duì)應(yīng)的處理,傳統(tǒng)的做法是通過if-else去判斷消息的類型,...
在開發(fā)過程中,通常會(huì)有一個(gè)接口被很多個(gè)上游調(diào)用或者Request里面有一個(gè)消息類型,我們需要根據(jù)具體的消息類型去做對(duì)應(yīng)的處理,傳統(tǒng)的做法是通過if-else去判斷消息的類型,...
1、創(chuàng)建實(shí)體類,實(shí)體類上加上版本號(hào)字段,同時(shí)加上@version注解 2、數(shù)據(jù)庫加上對(duì)應(yīng)的版本號(hào)字段 3、mybatis-plus加上樂觀鎖配置信息 4、單測(cè)測(cè)試先讀再修改,...
1、引入對(duì)應(yīng)的依賴 2、添加緩存相關(guān)的常量(緩存名稱、緩存過期時(shí)間、緩存大?。?3、定義枚舉,多個(gè)緩存的話直接遍歷枚舉 4、使用
1、創(chuàng)建項(xiàng)目 引入對(duì)應(yīng)的依賴 2、配置數(shù)據(jù)庫和Mapper映射 application.yml 在啟動(dòng)類上面加上MapperScan注解 3、寫對(duì)應(yīng)的Mapper接口 (注解...
package time; import java.time.*;import java.time.format.DateTimeFormatter; public clas...
原因 在以前的物理內(nèi)存中,多個(gè)進(jìn)程共享物理內(nèi)存,所以要對(duì)每個(gè)進(jìn)程進(jìn)行分配,因此每個(gè)進(jìn)程的可用物理內(nèi)存就比較小,并且可能會(huì)相互影響。有了虛擬內(nèi)存之后1、每個(gè)進(jìn)程有了不依賴物理內(nèi)...
具體的池子 自旋鎖:對(duì)worker進(jìn)行操作時(shí)需要上鎖,因?yàn)榍衅皇蔷€程安全的 具體的worker實(shí)現(xiàn) worker接口 隊(duì)列類型的worker
內(nèi)存分配的過程 1、分配的內(nèi)存實(shí)際上說虛擬地址,而不是物理地址,這個(gè)地址只是分配,還沒有映射,需要用到的時(shí)候再進(jìn)行映射2、需要進(jìn)行讀寫的時(shí)候,發(fā)現(xiàn)沒有映射就會(huì)觸發(fā)缺頁中斷,如...
Linux內(nèi)存分布 如32位系統(tǒng),下面的3G是用戶空間,上面的1G是內(nèi)核空間,每個(gè)虛擬內(nèi)存中的內(nèi)核地址,其實(shí)關(guān)聯(lián)的都是相同的物理內(nèi)存Linux中內(nèi)存分布,從地位到高位分別是程...
上下文切換的時(shí)候,CPU的開銷都具體有哪些呢?開銷分成兩種,一種是直接開銷、一種是間接開銷。直接開銷就是在切換時(shí),cpu必須做的事情,包括:1、切換頁表全局目錄2、切換內(nèi)核態(tài)...