原创 https://www.cnblogs.com/guwei4037/p/5591183.html

關於設計模式 https://www.cnblogs.com/guwei4037/p/5591183.html

原创 Netty小記——引用計數機制

引用計數機制在很多框架中都有使用,如果在遊戲引擎框架coscos2dx中,這種機制可以很簡單的進行對象的生命週期的管理,netty引用計數機制原文:http://netty.io/wiki/reference-counted-ob

原创 jdk源碼分析 ——Selector深入分析

1、spi方式的selector定製化 selector通過SelectorProvider創建的,通常不同安裝版本的jdk中已經封裝了相應的Select和SelectorProvider了,通過spi的方式進行擴展。(PS:s

原创 web socket協議小記

1、協議upgrade 通過一個handshake進行協議升級,升級爲websocket協議(同時不斷開tcp連接),只有一次握手協議就可以完成協議升級,然後就可以進行進行websocket幀的發送。 3、Extension d

原创 Java線程池深入分析(2)

Executor.java 該接口主要定義將任務提交到線程池的接口方法,爲什麼在該接口中只定義任務的提交方法,在jdk文檔中也給了一個大致的說明(該接口只負責任務提交到線程池,與具體線程池如何執行提交的任務解耦) Executo

原创 spring多數據源路由小記

授之以魚,不如授之以漁 首先講一講如何實現自己的多數據源的配置和使用。 多數據源的配置:這個問題很簡單,什麼jdbc.url….之類的多來幾套即可以了,然後編寫一個類讀取幾套該配置併爲每一套連接建立一個連接池即可。 如何使用多數據

原创 netty源碼註解——websocket握手和分片組合

在使用web socket的時候也是需要注意netty引用計數這個機制,否則也容易出現錯誤 本節主要註解了netty中web socket的握手協議處理以及分片組合的實現方式 https://github.com/mh47838

原创 jdk源碼小記——鎖機制(ReentrantLock源碼解析)

鎖的具體含義和使用方式,在操作系統裏面已經有了比較詳細的講解,就不在這裏贅述了。本小節主要講解一下Java當中的鎖的實現和使用(其實jvm是用c++寫的,所以最終的實現和操作系統提供的鎖機制有很大的干係) synchronized

原创 基於netty的web socket小記

1、WebSocketProtocolHandler裏面包含了handshake過程,並且會在handshake完成之後產生一個用戶事件往後面的管道傳遞,可以通過該事件判斷web socket是否建立成功。ping、pong心跳幀

原创 Java多線程之—ForkJoinPool源碼分析

首先推薦閱讀ForkJoinPool的作者Doug Lea的一篇文章《A Java Fork/Join Framewor》 http://gee.cs.oswego.edu/dl/papers/fj.pdf 英文原文下載地址 還

原创 mybatis小記——數據庫連接池實現

簡單實現 說到數據庫連接池的實現,可能大家並不陌生,應該都或多或少的實現過,那麼先來說說一個簡單的數據庫連接池的實現。 既然是連接池,首先得有連接,然後有池子(廢話),連接使用jdk的Connection,池子使用一個List<

原创 jdk源碼分析之ByteBuffer

ByteBuffer位於jdk源碼包java.nio中 通過對該源碼文件的註釋的閱讀可知該ByteBuffer具有如下的特點: 1、該buffer可以使用直接內存(操作系統內存,不受java虛擬機管理)和間接內存(jdk管理的內

原创 Netty小記——web socket分片聚合實現

在netty中已經對web socket的分片重組進行了相應的實現,具體的實現類是 WebSocketFrameAggregator,該類繼承自netty的消息聚合器MessageAggregator。 MessageAggreg

原创 Hashmap的高性能使用小記

<p>An instance of <tt>HashMap</tt> has two parameters that affect its * performance: <i>initial capacity</i> and <

原创 mybatis深入淺出——連接管理+sql映射+結果集轉換

本節主要對mybatis初始化源碼的分析,簡單的闡述mybatis的設計思想。 數據庫訪問相關的框架是對jdk中的數據庫訪問相關操作的更高層次的封裝,所以如果要探究一個框架的設計原理,那麼可以從下而上的進行分析。通過分析jdk中數