CS學習資料

Java

1. JVM

2. 併發

操做系統/Linux/系統編程

設計模式

1. 單例

爲什麼double-check不安全,而double-checked + volatile就安全了?html

由於instance = new XXX() 分爲3步:(1) 給對象分配內存 (2) 初始化對象(往對象裏寫) (3) 賦值給instance java

其中(2)(3)可能重排序,致使其餘線程看到未徹底初始化的對象。linux

博客

(更新中...)git

相關文章
相關標籤/搜索