
3.1可見性 為了確保多個線程之間對內存寫入的可見性,就必須使用同步機制 在沒有同步的情況下,編譯器、處理器以及運行時等都可能對操作的執行順序進...
要編寫線程安全的代碼,核心在于對狀態訪問操作進行管理,特別是共享的(Shared)和可變的(Mutable)訪問 對象的狀態指存儲在狀態變量(實...
1.1并發簡史 操作系統多進程出現的原因 資源利用率:一個程序等待某個外部操作的時候運行另一個程序 公平性:粗粒度的時間分片共享計算機資源 便利...
13.1概述 13.2線程安全 當多個線程訪問一個對象的時,如果不用考慮這些線程在運行時環境下的調度和交替執行,也不需要進行額外的同步,或者在調...
12.1概述 衡量一個服務端的好壞,每秒事物處理數(Transactions Per second,TPS)是最重要的指標之一 12.2硬件的效...
11.1概述 為了提高熱點代碼的運行效率,在運行時,虛擬機會把這些代碼編譯成與本地平臺相關的機器碼,并進行各種層次的優化,完成這個任務的編譯器稱...
10.1概述 Java語言的“編譯期”其實是個“不確定”的過程: 前端編譯器:把Java文件編譯成class文件,例如Sun的javac、Ecl...
9.1概述 在class文件格式和執行引擎這部分內容中,用戶程序能直接影響的并不多,Class文件以何種形式存儲,類型何時加載、如何連接,以及虛...
8.1概述 執行引擎:輸入字節碼文件,處理過程是字節碼解析的等效過程,輸出的是執行結果 8.2運行時棧幀結構 棧幀是虛擬機用于方法調用和方法執行...