原创 commons-pool2源碼走讀(四) 對象池實現GenericObjectPool

commons-pool2源碼走讀(四) 對象池實現GenericObjectPool<T> GenericObjectPool <T> 是一個可配置的ObjectPool實現。 當與適當的PooledObjectFactory

原创 commons-pool2源碼走讀(一) 池對象PooledObject接口及其實現

commons-pool2源碼走讀(一) 池對象PooledObject<T>接口及其實現 PooledObject<T>用來定義池對象的一個wrapper 接口,用於跟蹤對象的附加信息,比如狀態、創建時間、使用時間等。這個類的實

原创 spring-boot入門(三)使用HTML視圖

#spring-boot入門(三)使用HTML作爲展示視圖 前後端分離能使項目整體開發效率提高,後端無需再像寫jsp一樣將原本的html改寫爲jsp,加入jstl表達式或者一些java代碼,這對於前端或者後端來說都是一件痛苦的事情

原创 commons-pool2源碼走讀(二) 對象工廠PooledObjectFactory接口

commons-pool2源碼走讀(二) 對象工廠PooledObjectFactory <T> 接口 PooledObjectFactory <T> 顧名思義是一個池對象的工廠類,通過該類獲得一個池對象的包裝類PooledObj

原创 commons-pool2源碼走讀(三) 抽象對象池BaseGenericObjectPool

commons-pool2源碼走讀(三) 對象池BaseGenericObjectPool<T> BaseGenericObjectPool<T>爲GenericObjectPool和GenericKeyedObjectPool提

原创 阿里巴巴筆試題:匹配模式(簡單的以字符來寫), 比如 aabb, 來判斷該字符串是否符合該模式

//有一個字符串它的構成是詞+空格的組合,如“北京 杭州 杭州 北京”, //要求輸入一個匹配模式(簡單的以字符來寫), 比如 aabb, 來判斷該字符串是否符合該模式, 舉個例子: //1. pattern = “abba”,

原创 ReentrantLock之公平與非公平模式

ReentrantLock之公平與非公平模式 ReentrantLock是java重要的鎖之一,這裏只討論其公平和非公平模式。 1. 初始化 ReentrantLock有兩個構造函數,通過構造函數我們可以看到 1. 默認使用的是非

原创 mysql主從複製

mysql主從複製 1. 主從複製的主要功能 1)數據分佈 在不同的數據中心實現數據的複製。 2)讀取的負載均衡 建立多個從服務器,將讀取操作分散到從服務器,降低主服務器壓力。 3)數據庫備份 複製對備份很有幫助,但是

原创 Curator 主節點選舉LeaderLatch和LeaderSelector

LeaderLatch 一旦節點成爲主節點,那麼只有調用close方法,其它節點纔會繼續爭奪 List<LeaderLatch> latches = new ArrayList<>(); List<CuratorF

原创 紅黑樹詳解

紅黑樹 我們知道二叉查找樹有較高的查找速度,同時爲了避免單枝樹等情況,又希望該二叉樹接近於滿二叉樹,或者二叉樹的每一個節點的左、右子樹深度儘量相等,這樣的二叉樹稱爲平衡二叉樹。平衡二叉樹的常用實現方法有紅黑樹、AVL、替罪羊樹、T

原创 一起學習ActiveMQ (二) spring boot與ActiveMQ結合

一起學習ActiveMQ (二) spring boot與ActiveMQ結合 前面一章介紹了ActiveMQ 的安裝及相關api,但是通常情況下我們很少直接使用原生api進行開發,同時spring jms對ActiveMQ 進

原创 二叉排序樹和平衡二叉樹

1. 二叉排序樹 二叉排序樹(Binary Sort Tree),又稱二叉查找樹(Binary Search Tree),亦稱二叉搜索樹。 二叉排序樹定義: 二叉排序樹或者是一棵空樹,或者是具有下列性質的二叉樹: 若左子樹不

原创 爲什麼要使用消息中間件

爲什麼要使用消息中間件? 1. 系統解耦 假設一個訂單在整個交易系統會經歷如下兩個步驟: A:訂單創建 B:訂單出庫 整個過程,如下圖所示: 但是現在有了新需求,我們需要在統計訂單的創建數據,便於在雙11的時候用於分析實時系統下

原创 一起學習ActiveMQ (一) ActiveMQ入門

一起學習ActiveMQ (一) ActiveMQ入門 Apache ActiveMQ™是最流行的開源,多協議,基於Java的消息服務器。它支持行業標準協議,因此用戶可以通過廣泛的語言和平臺獲得客戶選擇的好處。可以使用C,C ++

原创 爲什麼ActiveMQ官方不再推薦使用LevelDB

爲什麼ActiveMQ官方不再推薦使用LevelDB 最近在學習mq,雖然已經在使用,但是卻未深入的瞭解,於是閱讀官方文檔的時候發現ActiveMQ官方不再推薦使用LevelDB。ActiveMQ在5.8.0 版本後引入了Leve