原创 Java併發編程之基礎篇(三) -- ThreadLocal

Java併發編程之基礎篇(三) – ThreadLocal ThreadLocal介紹 上篇文章講到,如果想在多線程的環境下,實現共享可變資源的安全訪問,最好的方式是加鎖,也就是同一時刻只有一個線程在使用共享可變資源。如果我們有一

原创 Java併發編程之基礎篇(四) -- 線程間的協作

Java併發編程之基礎篇(四) – 線程間的協作 這篇介紹一下線程之間如何進行通信 之前介紹的內容都是如何保證線程之間的運行互不干擾,但是有的時候,線程之間必須互相合作。比如清洗盤子完成之後,才能對盤子進行烘乾操作,烘乾必須在清洗

原创 Java併發編程之基礎篇(一)-- 線程與任務

Java併發編程之基礎篇(一)-- 線程與任務 進程和線程理解 提到併發編程,很多人會想到多線程;希望讓多個線程共同完成一項任務,以提高生產效率。所以要聊併發編程之前,就要先說一下什麼是線程,要說什麼是線程就需要說一下什麼是進程。

原创 理解java中的Optional

快速理解Optional 1.前言 相信在日常的開發中大家都會遇到java的NPE(Null Pointer Exception)所謂的空指針異常,而且都被搞的頭昏腦漲,有大佬說過“防止 NPE,是程序員的基本修養。”但是修養歸修

原创 zookeeper 僞分佈安裝詳解

實現zookeeper的僞分佈之前需要先了解,zookeeper的單機實現,首先需要了解 zookeeper的單機模式 然後,學習了單機模式,那麼實現僞分佈zk就很容易了,需要zookeeper服務複製三份,其中的配置文件zoo.

原创 通過代碼操作zookeeper

pom.xml配置如下 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifac