原创 Java中的線程池

Java中的線程池運用場景非常廣泛,幾乎所有的一步或者併發執行程序都可以使用。那麼線程池有什麼好處呢,以及他的實現原理是怎麼樣的呢? 使用線程池的好處 線程池實現原理 線程池使用 創建線程池 向線程池提交任務 關閉線程池 合理配置線程池 線

原创 ConcurrentHashMap探究

ConcurrentHashMap ConcurrentHashMap是線程安全,性能出色的Map的線程安全實現,相比較HashMap他是線程安全的,相比較HashTable他的性能優勢非常明顯。他的使用很簡單,這裏主要是想要探究一下Con

原创 淺談雙重檢查鎖定和延遲初始化

在Java多線程程序中,有時需要採用延遲初始化來降低初始化類和創建對象的開銷,雙重檢查鎖定是常見的延遲初始化技術,但它是一種錯誤的用法 雙重檢查鎖的演進以及問題 使用syncronized實現 public synchronized sta

原创 MyBatis的原理

MyBatis核心類 SqlSessionFactory 每一個MyBatis應用都是以一個SqlSessionFactory的實例爲核心構建的。SqlSessionFactory的核心作用是什麼? 從類的名稱上可以看出來,SqlSessi

原创 ReentrantLock 學習

留白,將寫一篇ReentrantLock的實現使用

原创 Java中的隊列

最近在看數據結構的時候,看到了隊列這裏,在實際的開發中我們很少會手動的去實現一個隊列,甚至很少直接用到隊列,但是在Java的包中有一些具有特殊屬性的隊列應用的比較廣泛,例如:阻塞隊列&併發隊列. 阻塞隊列 阻塞隊列(BlockingQueu

原创 Java中的併發工具類

在JDK的併發包中提供了幾個非常有用的併發工具類。CountDownLath,CyclicBarrier和Semaphre工具類提供了一種併發流程控制的手段,Exchanger工具類則提供了在線程間交換數據的一種手段。 等待多線程完成的Co