原创 @sun.misc.Contended 解決僞共享問題

先來看下什麼叫做僞共享,轉載自併發編程網 – ifeve.com 鏈接地址: 僞共享(False Sharing) 緩存系統中是以緩存行(cache line)爲單位存儲的。緩存行是2的整數冪個連續字節,一般爲32-256個字節。最常見的

原创 ConcurrentLinkedQueue 出入隊源碼分析(java 併發編程的藝術6.2章)

6.2 ConcurrentLinkedQueue   一個基於鏈接節點的無界線程安全隊列   6.2.2 入隊列   1、入隊列的過程 1、添加元素1,隊列更新head節點的next節點爲元素1節點,tail節點默認情況下等於hea

原创 Effective Java 讀書筆記

第二章  創建與銷燬對象 1、考慮用靜態工廠方法代替構造器 優點:     1、有名稱     2、不必在每次調用他們的時候都創建一個新的對象     3、他們可以返回原返回類型的任何子類型對象     4、使代碼更簡潔 缺點:    

原创 ConcurrentHashMap1.8解析

ConcurrentHashMap的結構和HashMap基本相同,由 數組+鏈表+紅黑樹 組成,只是在併發上面做了很多處理. 先了解下重要的變量和內部類 static final int MOVED = -1; // hash

原创 OAuth2.0 4種授權模式

學習了楊波老師的《微服務安全架構和實踐》關於Oauth2.0的知識,做了下簡單的總結,具體內容在https://github.com/geektime-geekbang/oauth2lab 最安全的授權方式,適用於開放平臺,客戶端爲

原创 DelayQueue 出入隊源碼分析(摘自java 併發編程的藝術6.3)

DalayQueue 是一個支持延時獲取元素的無界阻塞隊列,隊列使用PriorityQueue來實現,隊列中的元素必須實現Delayed接口 運用場景: 緩存系統的設計,可以保存緩存元素的有效期,一旦能從DelayQueue中獲取元素,