1.記憶體模型 & 分區
Java虛拟機在運作Java程式時,在運作時資料區裡,會根據用途進行劃分:
下面詳細介紹每個記憶體模型分區
2.Java堆
3. Java虛拟機棧
4. 本地方法棧
簡介:十分類似Java虛拟機棧,與Java虛拟機差別在于:服務對象,即Java虛拟機棧為執行 Java 方法服務;本地方法棧為執行 Native方法服務
5.方法區
注:其内部包含一個運作時常量池,具體介紹如下:
6.程式計數器
7. 額外知識:直接記憶體
定義:NIO類中基于通道和緩沖區的I/O方式 ,是通過使用Native函數庫直接配置設定的堆外記憶體,不受大小限制,不是虛拟機運作時資料區的一部分,并且不在堆中配置設定,适用于多次調用的情況,可以避免在 Java 堆和 Native堆之間來回複制資料,提高抛出的異常的使用性能,其他記憶體區域的總和也大于實體記憶體限制。