原创 幹掉面試官3-CPU中的緩存、緩存一致性、僞共享和緩存行填充

文章目錄1、 CPU緩存2、 總線鎖和緩存鎖3、 緩存行4、 緩存一致性協議(如:MESI)5、 僞共享(false sharing)問題6、 僞共享解決方案(如:緩存行填充)6.1 Disruptor爲什麼這麼快?6.2 實驗

原创 idea中閱讀jdk源碼,並添加註釋

學會在idea(eclipse)中閱讀、調試源碼,是java程序員必不可少的一項技能。 在idea中配完環境後,默認其實也是能夠對jdk的源碼進行debug調試的。但是無法在源碼中添加自己的註釋,無法添加自己的理解。如果幹瞪眼看的

原创 幹掉面試官1-synchronized底層原理(從Java對象頭說到即時編譯優化)

synchronized底層原理(從Java對象頭說到即時編譯優化)一、兩個好用卻不被熟知的工具1.1、字節碼查看插件(jclasslib Bytecode viewer)1.2、Java對象內存佈局查看工具-JOL二、Java對

原创 fastjson低於1.2.60的遠程拒絕服務漏洞

Fastjson 叒叕被爆出嚴重漏洞了漏洞描述重現漏洞1、簡單Demo2、應用中重現解決漏洞 漏洞描述 首先,看一下阿里官方迴應,傳送門 重現漏洞 看看Github上1.2.60版本修復漏洞後的測試用例,即可發現造成這一漏洞的死

原创 淺談軟件和硬件負載均衡(LVS、HAProxy、Nginx、F5)及一次線上問題分析

文章目錄一、負載均衡什麼是負載均衡負載均衡的優點四層和七層負載均衡常見的負載均衡軟硬件二、硬件負載均衡優點缺點三、軟件負載均衡LVSHAproxyNginx三大主流軟件負載均衡的適用場景:四、一次線上事故分析 一、負載均衡 什麼是

原创 高性能IO模型分析-Reactor模式和Proactor模式(二)

I/O模型的應用:Reactor模式和Proactor模式 文章目錄一、thread-based architecture(基於線程的架構)二、event-driven architecture(事件驅動模型)2.1 Reacto

原创 幹掉面試官2-volatile底層原理詳解

文章目錄一、volatile的作用1.1、volatile變量的可見性1.2、volatile變量的禁止指令重排序二、volatile的的底層實現2.1、 Java代碼層面2.2、字節碼層面2.3、JVM源碼層面2.4、彙編層面2

原创 高性能IO模型分析-淺析Select、Poll、Epoll機制(三)

I/O多路複用的三種機制:Select、Poll、Epoll 文章目錄一、Select機制API簡介運行機制Select的缺陷二、Poll機制API簡介運行機制Poll的缺陷三、Epoll機制API簡介運行機制工作模式Epoll的

原创 詳解Redis的持久化機制

Redis的持久化機制1、RDB快照1.1、 觸發機制1.2、RDB執行流程1.3、RDB的優缺點2、AOF(append only file)日誌2.1、開啓方式2.2、重寫(rewrite)機制2.3、觸發機制2.4、AOF的

原创 高性能IO模型分析-I/O模型簡介(一)

I/O模型簡介 文章目錄一、基礎概念用戶空間和內核空間進程切換進程阻塞文件描述符緩存 I/O二、I/O執行的兩大階段三、五大模型及對比Linux的五大I/O模型1、同步阻塞IO(blocking IO)2、同步非阻塞IO(nonb

原创 CPU中的緩存、緩存一致性、僞共享和緩存行填充

文章目錄1、 CPU緩存2、 總線鎖和緩存鎖3、 緩存行4、 緩存一致性協議(如:MESI)5、 僞共享(false sharing)問題6、 僞共享解決方案(如:緩存行填充)6.1 Disruptor爲什麼這麼快?6.2 實驗

原创 volatile底層原理詳解(上)

文章目錄一、volatile的作用1.1、volatile變量的可見性1.2、volatile變量的禁止指令重排序二、volatile的的底層實現2.1、 Java代碼層面2.2、字節碼層面2.3、JVM源碼層面2.4、彙編層面2

原创 synchronized底層原理(從Java對象頭說到即時編譯優化)

synchronized底層原理(從Java對象頭說到即時編譯優化)一、兩個好用卻不被熟知的工具1.1、字節碼查看插件(jclasslib Bytecode viewer)1.2、Java對象內存佈局查看工具-JOL二、Java對

原创 紅燜羊肉[火鍋]

紅燜羊肉步驟 準備羊肉一斤(帶皮羊後腿最佳),切塊兒後用涼水浸泡。頭兩泡水加料酒去腥,半小時換一次水。浸泡1~3小時,待水不再發紅,肉中不再有血絲兒 焯水。冷水下鍋,可加薑片、料酒,水開後再煮兩分鐘,撇去浮沫。將肉撈出控水。如果

原创 Redis info命令中各個參數的含義

Redis info命令中各個參數的含義Info命令簡介ServerClientsMemoryPersistenceStatsReplicationCPUKeyspace代碼示例 Info命令簡介 在使用Redis的過程中,可能會