
一、基本概念 鎖(重量級鎖)是什么?每個對象實例都有一個monitor(C++實現(xiàn)), synchronize對象鎖,其指針指向的是該對象mon...
背景知識:由于CPU和內(nèi)存之間處理速度的差異太大,現(xiàn)代計算機都會在內(nèi)存和CPU之間增加一個速度盡可能接近CPU的高速緩存(Cache)。但這樣又...
一、判斷對象是否可被回收 1.1 引用計數(shù)法 缺點:無法解決對象之間循環(huán)依賴的問題 1.2 可達(dá)性分析算法 當(dāng)一個對象GC Roots 沒有任何...
一、運行時棧幀結(jié)構(gòu) 棧幀(Stack Frame)是用于JVM執(zhí)行方法調(diào)用和方法執(zhí)行的數(shù)據(jù)結(jié)構(gòu),是虛擬機棧的元素。棧幀存儲了方法的局部變量表、操...
一、JVM運行時數(shù)據(jù)區(qū) 程序計數(shù)器當(dāng)前線程所執(zhí)行字節(jié)碼行號指示器,唯一一個沒有OOE的區(qū)域線程切換后能恢復(fù)到正確的執(zhí)行位置 虛擬機棧生命周期和線...
一、類的生命周期 加載 -> 驗證 -> 準(zhǔn)備 -> 解析 -> 初始化 -> 使用 -> 卸載 有且僅有以下情況,JVM必須立即對類進(jìn)行初始化...
一、class 類文件 class文件是一組以8位字節(jié)為基礎(chǔ)的二進(jìn)制流,中間沒有任何分隔符,所以數(shù)據(jù)的含義和順序都被嚴(yán)格限定。class 文件使...