3.1可見性 為了確保多個(gè)線程之間對(duì)內(nèi)存寫入的可見性酥泞,就必須使用同步機(jī)制 在沒有同步的情況下给猾,編譯器、處理器以及運(yùn)行時(shí)等都可能對(duì)操作的執(zhí)行順序進(jìn)...
要編寫線程安全的代碼缰冤,核心在于對(duì)狀態(tài)訪問操作進(jìn)行管理,特別是共享的(Shared)和可變的(Mutable)訪問 對(duì)象的狀態(tài)指存儲(chǔ)在狀態(tài)變量(實(shí)...
1.1并發(fā)簡史 操作系統(tǒng)多進(jìn)程出現(xiàn)的原因 資源利用率:一個(gè)程序等待某個(gè)外部操作的時(shí)候運(yùn)行另一個(gè)程序 公平性:粗粒度的時(shí)間分片共享計(jì)算機(jī)資源 便利...
13.1概述 13.2線程安全 當(dāng)多個(gè)線程訪問一個(gè)對(duì)象的時(shí),如果不用考慮這些線程在運(yùn)行時(shí)環(huán)境下的調(diào)度和交替執(zhí)行刺彩,也不需要進(jìn)行額外的同步迷郑,或者在調(diào)...
12.1概述 衡量一個(gè)服務(wù)端的好壞迂苛,每秒事物處理數(shù)(Transactions Per second三热,TPS)是最重要的指標(biāo)之一 12.2硬件的效...
11.1概述 為了提高熱點(diǎn)代碼的運(yùn)行效率三幻,在運(yùn)行時(shí)就漾,虛擬機(jī)會(huì)把這些代碼編譯成與本地平臺(tái)相關(guān)的機(jī)器碼,并進(jìn)行各種層次的優(yōu)化念搬,完成這個(gè)任務(wù)的編譯器稱...
10.1概述 Java語言的“編譯期”其實(shí)是個(gè)“不確定”的過程: 前端編譯器:把Java文件編譯成class文件,例如Sun的javac朗徊、Ecl...
9.1概述 在class文件格式和執(zhí)行引擎這部分內(nèi)容中,用戶程序能直接影響的并不多爷恳,Class文件以何種形式存儲(chǔ)有缆,類型何時(shí)加載、如何連接,以及虛...
8.1概述 執(zhí)行引擎:輸入字節(jié)碼文件杯矩,處理過程是字節(jié)碼解析的等效過程,輸出的是執(zhí)行結(jié)果 8.2運(yùn)行時(shí)棧幀結(jié)構(gòu) 棧幀是虛擬機(jī)用于方法調(diào)用和方法執(zhí)行...