JVM -- 物件的記憶體佈局
JVM – 物件的記憶體佈局
記憶體佈局
1️⃣物件頭(Header)
包含兩部分
執行時資料區(Mark World)
✔雜湊值(HashCode)
✔GC分代年齡
✔鎖狀態標誌
✔執行緒持有的鎖
✔偏向執行緒ID
✔偏向時間戳
型別指標:如果是陣列,還需記錄資料的長度
說明:如果是陣列,還需記錄陣列的長度
2️⃣例項例項(Instance Data)
說明
1.它是物件真正儲存的有效資訊,包括程式程式碼中定義的各種型別的欄位(包含從父類繼承下來的和本身擁有的欄位)
規則
1.相同寬度的欄位總是被分配在一起
2.父類中定義的變數會出現在子類之前
3.如果CompactFields引數為true(預設為true):子類的窄變數可能插入到父類變數的空間
3️⃣對齊填充(Padding)
不是必須的,也沒特別含義,僅僅起到佔位符的作用
相關文章
- JVM-物件及物件記憶體佈局JVM物件記憶體
- 物件的記憶體佈局物件記憶體
- Java物件的記憶體佈局Java物件記憶體
- .NET物件的記憶體佈局物件記憶體
- JVM中java例項物件在記憶體中的佈局JVMJava物件記憶體
- Java物件記憶體佈局Java物件記憶體
- OC物件記憶體佈局物件記憶體
- 物件記憶體佈局 (7)物件記憶體
- C++ 物件的記憶體佈局C++物件記憶體
- JVM之物件的建立、記憶體佈局、訪問走位總結JVM物件記憶體
- 【JVM之記憶體與垃圾回收篇】物件例項化記憶體佈局與訪問定位JVM記憶體物件
- 【記憶體管理】記憶體佈局記憶體
- 圖文詳解Java物件記憶體佈局Java物件記憶體
- C++ 虛繼承 物件記憶體佈局C++繼承物件記憶體
- JVM記憶體GC的騙局JVM記憶體GC
- 圖說C++物件模型:物件記憶體佈局詳解C++物件模型記憶體
- [CPP] 類的記憶體佈局記憶體
- [轉帖]重磅硬核|一文聊透物件在JVM中的記憶體佈局等(一)物件JVM記憶體
- 物件的例項化、記憶體佈局以及訪問定位物件記憶體
- C程式記憶體佈局C程式記憶體
- 99.9%的Java程式設計師都說不清的問題:JVM中的物件記憶體佈局?Java程式設計師JVM物件記憶體
- c程式的記憶體佈局圖C程式記憶體
- 深入理解 Python 的物件複製和記憶體佈局Python物件記憶體
- 深入理解Java虛擬機器之JVM記憶體佈局篇Java虛擬機JVM記憶體
- Object o = new Object()佔多少個位元組?-物件的記憶體佈局Object物件記憶體
- 深度解讀《深度探索C++物件模型》之C++物件的記憶體佈局C++物件模型記憶體
- 重磅硬核 | 一文聊透物件在 JVM 中的記憶體佈局,以及記憶體對齊和壓縮指標的原理及應用物件JVM記憶體指標
- JAVA物件在JVM中記憶體分配Java物件JVM記憶體
- Rust 程式設計:記憶體佈局Rust程式設計記憶體
- 10-記憶體空間佈局記憶體
- [譯]Go語言記憶體佈局Go記憶體
- 分散載入與記憶體佈局記憶體
- JVM記憶體結構、Java記憶體模型和Java物件模型JVM記憶體Java模型物件
- JVM 記憶體模型 記憶體分配,JVM鎖JVM記憶體模型
- 虛擬函式的記憶體佈局(上)函式記憶體
- C++ 繼承中的記憶體佈局C++繼承記憶體
- Java的記憶體 -JVM 記憶體管理Java記憶體JVM
- JVM記憶體JVM記憶體