原创 LevelDB解析

1. 整體架構 LevelDB是一個寫性能十分優秀的存儲引擎,是典型的LSM數(Log Structured-Merge Tree)實現。LSM樹的核心思想就是放棄部分讀的性能,換取最大的寫入能力。 LSM樹寫性能極高的原理,簡單地來說就

原创 Netty源碼解析 - 零拷貝

1. 概念 所謂零拷貝,就是在操作數據是,不需要將數據buffer從一個內存區域拷貝到另一個內存區域。因此減少內存的拷貝,CPU的效率得到提升。 在OS層面上的零拷貝通常指避免在用戶態(User-space)與內核態(Kernel-spa

原创 Druid數據庫連接池解析

1. 概述 Druid是阿里提供的一個高效的數據庫連接池,它可以方便的管理數據庫連接,實現連接複用。Druid具有良好的可擴展性,支持SQL檢查、慢查詢統計等功能。 主流連接池各項功能對比如下:  2. 連接池獲取 Druid連接池的

原创 Linux命令 - cut/sed/awk

cut 切割字符串 -d: 切割字符,只支持單字符 -f: 選取分割字段 [root@8994ac83081b tmp]# echo '11:22:33' | cut -d ':' -f 2 22 sed 替換字符 -s: 替換字符

原创 Netty源碼解析 - 服務端啓動流程

1. 概述 Netty是一個穩定、高性能NIO通信框架,它對JDK NIO的使用做了很好的封裝,對使用者屏蔽了NIO通信的底層細節,對使用NIO降低業務開發工作量,降低開發難度 2. Netty IO Reactor模型  3. Net

原创 spring解析-循環依賴

1. 前序 循環依賴就是N個類循環嵌套引用,Spring處理循環依賴問題有三種情況: 構造器循環依賴:這種情況Spring無法處理,直接拋出BeanCurrentlyInCreationException異常 單例模式下的setter循環