原创 @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中獲取元素,