原创 『每日一問』LockSupport怎麼實現線程等待、喚醒

wait/notify實現線程通信 實現線程通信呢,比較傳統的辦法就是使用synchronized關鍵字獲取對象鎖之後,結合Object自帶的wait/notify方法來實現。 一個簡單例子如下: public static v

原创 『怎麼用』裝飾者模式

消除恐懼的最好辦法是直面恐懼,奧利給:)闡述原理實現總結Q&A 闡述 利用繼承設計子類的行爲,是在編譯時靜態決定的,且所有的子類都會繼承到這個行爲。如果用組合的做法擴展對象的行爲,就可以在運行時動態的進行擴展。 裝飾者模式:

原创 『每日一問』ReentrantLock加鎖解鎖

ReentrantLock 、Sync 、FairSync 、NonfairSync 代碼之間的組織關係 public class ReentrantLock{ abstract static class Sync exte

原创 【線程知識點】-- CountDownLatch

CountDownLatch是什麼?CountDownLatch是在java1.5被引入的,跟它一起被引入的併發工具類還有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它們

原创 【線程知識點】-- 柵欄:CyclicBarrier

1快速瞭解首先看下JDK中的介紹:/** * A synchronization aid that allows a set of threads to all wait for * each other to reach a com

原创 GIT使用合集

使用git rebase合併多次commit

原创 『每日一問』怎麼實現一個正確的雙重檢查鎖定

『每日系列』 緣由 我們程序裏,有時候一些開銷比較大的對象創建,往往不會提前創建,而是隻有在實際要用到的時候纔會去創建。 也就是基本下邊這個寫法: public class UnsafeLazyInitialization {

原创 『每日一問』簡單聊聊JMM/說說對JMM的瞭解

『每日系列』                       ☟☟☟JMM是什麼JMM內存模型重排序數據依賴性as-if-serial語義happens-before           ☟☟☟) JMM是什麼 Java Memory

原创 『每日一問』volatile幹嘛的

『每日系列』 內存語義 volatile寫:當寫一個volatile變量的時候,JMM會把這個線程的本地內存中的共享變量全部刷新到主內存。注意,是全部,而不是僅僅volatile變量 volatile讀:當讀一個volatile變

原创 微服務架構的基礎框架選擇:Spring Cloud還是Dubbo?

最近一段時間不論互聯網還是傳統行業,凡是涉及信息技術範疇的圈子幾乎都在討論 微服務架構 。近期也看到各大技術社區開始組織一些沙龍和論壇來分享Spring Cloud的相關實施經驗,這對於最近正在整理Spring Cloud相關套件內容與實

原创 瞅瞅源碼之HashMap[jdk1.8]

文章目錄HashMapJAVADOCNO BB , SHOW CODESTATIC AREAFieldsConstructsPublic MethodputgetremoveJDK8 新增的方法Q&AHashMap : 如何有效

原创 瞅瞅源碼之ConcurrentLinkedQueue

文章目錄成員變量Node是啥Unsafe幹嘛的構造方法新增一個元素刪除一個元素其他的一些方法NOTE:參考資料 基於鏈接節點的無界線程安全{@linkplain Queue隊列}。 這個隊列對元素FIFO(先進先出)進行排序。

原创 瞅瞅源碼之LinkedList

文章目錄成員變量Node是個啥構造方法modCount幹嘛的add(E e)get(int index)indexOf(Object o)刪除操作迭代器(有點意思的東西)不總結寫了幹嘛 實現了{@code list}和{@co

原创 瞅瞅源碼之ThreadLocal

ThreadLocal ThreadLocalMap Thread 三者之間的關係   ThreadLocalMap是ThreadLocal的一個內部類 /** * ThreadLocalMap是一個定製的散列映射,只適合維護線程本地

原创 Spring Cloud Alibaba 整體架構一展

未完待續 Nacos:註冊中心、配置中心 如何實現服務註冊 關鍵jar包: <dependency> <groupId>org.springframework.cloud</groupId> <arti