原创 AVL樹旋轉及代碼實現

    AVL樹是帶有平衡條件的二叉查找樹,它允許每個節點的左子樹與右子樹的高度差未1。這樣的平衡樹深度是O(log N)。而要維持這種平衡,就必須在每次對AVL樹刪除節點或新增節點後,檢查AVL樹的平衡是否被打破,即是否存在節點的左右子

原创 Netty源碼解析-ServerBootstrap及初始化服務端啓動

       在https://blog.csdn.net/ybin__/article/details/81007018 中分析了NioEventGroupLoop的初始化,這一章主要ServerBootstrap的初始化,及Netty

原创 storm學習之集羣搭建

1.Storm的集羣搭建及配置 搭建Storm集羣所需要的組件: Storm1.1.1 wget http://mirror.bit.edu.cn/apache/storm/apache-storm-1.1.1/apache-storm-

原创 JAVA運行時數據區域

JVM運行時數據區圖示:根據《Java虛擬機規範(JavaSE 7)》的規範,JVM所管理的內存包含如下幾個運行時數據區域:各區域介紹:堆結構:  堆被劃分爲新生代和老年代。新生代又被細分爲eden和from survivor和to su

原创 storm學習之接口實現及代碼發佈集羣

2.storm學習之接口實現及代碼發佈集羣已單詞計數爲列,代碼列子參見《Storm分佈式實時計算模式》一書;代碼github地址:https://github.com/yuexianbing/storm_test;基礎概念:Storm的核

原创 Netty源碼解析-NioEventLoop初始化

    作爲Netty的核心組件之一,NioEventLoop負責處理netty中的各種事件,每個NioEventLoop上有一個selector負責輪詢IO事件,有一個定時任務隊列及普通任務隊列負責處理註冊到NioEventLoop上的

原创 java的CAS

    cas是compare and swap的縮寫,是由操作系統提供的併發操作的原子指令;cas操作包含3個基本值,內存地址,預期值,要更新的值。在更新變量值時,cas會首先將變量內存地址上的原值和預期值相比較,如果相當就將其設置爲要

原创 ReentrantLock源碼分析及實現原理

    ReentrantLock可重入的互斥鎖,它具有與使用synchronized方法和語句所訪問的隱式監視器鎖相同的一些基本行爲和語義。但功能更強大,更靈活,可減少死鎖發生的概率。ReentrantLock由最近成功獲取鎖且未釋放鎖