來源:網(wǎng)絡(luò)
前言: - 了解
Java 中的對象、變量等存放的內(nèi)存區(qū)域十分重要 - 本文將全面講解
Java 虛擬機中的內(nèi)存模型 & 分區(qū),希望你們會喜歡
 目錄:  1. 內(nèi)存模型 & 分區(qū)Java 虛擬機在運行Java 程序時,會管理著一塊內(nèi)存區(qū)域:
運行時數(shù)據(jù)區(qū) 在運行時數(shù)據(jù)區(qū)里,會根據(jù)用途進行劃分:
 - 下面,我將詳細介紹每個內(nèi)存模型分區(qū)
2. Java 堆  3. Java 虛擬機棧  4. 本地方法棧 簡介 十分類似Java 虛擬機棧,與Java虛擬機區(qū)別在于:服務(wù)對象,即Java虛擬機棧為執(zhí)行 Java 方法服務(wù);本地方法棧為執(zhí)行 Native 方法服務(wù)
5. 方法區(qū)  其內(nèi)部包含一個運行時常量池,具體介紹如下:  6. 程序計數(shù)器  7. 額外知識:直接內(nèi)存定義:NIO 類(JDK 1.4引入)中基于通道和緩沖區(qū)的I/O 方式 通過使用Native 函數(shù)庫 直接分配 的堆外內(nèi)存 應(yīng)用場景:適用于頻繁調(diào)用的場景
通過一個 存儲在Java 堆中的DirectByteBuffer 對象 作為這塊內(nèi)存的引用 進行操作,從而避免在Java 堆和 Native 堆之間來回復(fù)制數(shù)據(jù),提高使用性能
- 拋出的異常:
OutOfMemoryError ,即與其他內(nèi)存區(qū)域的總和 大于 物理內(nèi)存限制
- 本文全面講解JVM中的內(nèi)存模型 & 分區(qū),總結(jié)如下

|