- 了解Java中的物件、變數等存放的記憶體區域十分重要
- #本文將全面講解Java虛擬機器中的記憶體模型& 分區,希望你們會喜歡
目錄
#1.記憶體模型& 分割區
Java虛擬機器在執行Java程式時,會管理著一塊記憶體區域:執行時間資料區
#在運行時資料區裡,會依照用途進行劃分:
#
2. Java堆
3. Java虚拟机栈
4. 本地方法栈
#簡介:十分類似Java虛擬機棧,與Java虛擬機區別在於:服務對象,即Java虛擬機器堆疊為執行Java 方法服務;本機方法堆疊為執行Native方法服務
5. 方法区
6. 程序计数器
7. 额外知识:直接内存
- #定義:NIO類別(JDK1.4引入)中基於通道和緩衝區的I/O方式透過使用Native函數庫直接分配的堆外記憶體
不屬於虛擬機器運行時數據區的一部分& 不在堆中分配
透過一個儲存在Java堆中的DirectByteBuffer物件作為這塊記憶體的引用進行操作,從而避免在Java 堆和Native堆之間來回復制數據,提高使用效能
- 拋出的例外:OutOfMemoryError,即與其他記憶體區域的總和大於物理記憶體限制
8. 總結
#
本文全面說明JVM中的記憶體模型 & 分區,總結如下
以上是13 張圖解 Java 中的記憶體模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!