Java 虛擬機(JVM)為 Java 程序運行提供了標準化的抽象層,其核心定義包含以下關鍵組件:
類加載器負責加載程序運行所需的全部類,並將本地文件系統的類保存在獨立的命名空間中,實現類的隔離與安全性。雙親委派模型確保核心類庫不被篡改。
理解數據存儲位置是優化性能、排查 OOM 問題的關鍵:
┌─────────────────────────────────────┐
│ Stack (棧) │
│ ┌─────────┐ ┌─────────┐ │
│ │ int a=5 │ │ Ref obj │──────┐ │
│ └─────────┘ └─────────┘ │ │
└────────────────────────────────┘ │
▼
┌─────────────────────────────────────┐
│ Heap (堆) │
│ ┌─────────────┐ │
│ │ Object {} │ │
│ └─────────────┘ │
└─────────────────────────────────────┘