新聞中心
「秒懂!」JVM虛擬機(jī)圖文詳解!一點(diǎn)都不難
作者:編程仔日常 2020-07-29 14:52:48
云計(jì)算
虛擬化 了解Java中的對(duì)象、變量等存放的內(nèi)存區(qū)域十分重要,本文將全面講解Java虛擬機(jī)中的內(nèi)存模型 & 分區(qū)。

創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供克拉瑪依網(wǎng)站建設(shè)、克拉瑪依做網(wǎng)站、克拉瑪依網(wǎng)站設(shè)計(jì)、克拉瑪依網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、克拉瑪依企業(yè)網(wǎng)站模板建站服務(wù),十年克拉瑪依做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
前言:
- 了解Java中的對(duì)象、變量等存放的內(nèi)存區(qū)域十分重要
- 本文將全面講解Java虛擬機(jī)中的內(nèi)存模型 & 分區(qū),希望你們會(huì)喜歡目錄:
目錄:
1. 內(nèi)存模型 & 分區(qū)
- Java虛擬機(jī)在運(yùn)行Java程序時(shí),會(huì)管理著一塊內(nèi)存區(qū)域:運(yùn)行時(shí)數(shù)據(jù)區(qū)
- 在運(yùn)行時(shí)數(shù)據(jù)區(qū)里,會(huì)根據(jù)用途進(jìn)行劃分:
- Java虛擬機(jī)棧(棧區(qū))
- 本地方法棧
- Java堆(堆區(qū))
- 方法區(qū)
- 程序計(jì)數(shù)器
下面,我將詳細(xì)介紹每個(gè)內(nèi)存模型分區(qū)
2. Java堆:
- 示意圖
- 簡(jiǎn)介
3. Java虛擬機(jī)棧
- 示意圖
- 簡(jiǎn)介
4. 本地方法棧
- 示意圖
簡(jiǎn)介十分類(lèi)似Java虛擬機(jī)棧,與Java虛擬機(jī)區(qū)別在于:服務(wù)對(duì)象,即Java虛擬機(jī)棧為執(zhí)行 Java方法服務(wù);本地方法棧為執(zhí)行 Native方法服務(wù)
5. 方法區(qū)
- 示意圖
- 簡(jiǎn)介
- 注
其內(nèi)部包含一個(gè)運(yùn)行時(shí)常量池,具體介紹如下:
6. 程序計(jì)數(shù)器
- 示意圖
- 簡(jiǎn)介
7. 額外知識(shí):直接內(nèi)存
- 定義:NIO類(lèi)(JDK1.4引入)中基于通道和緩沖區(qū)的I/O方式 通過(guò)使用Native函數(shù)庫(kù) 直接分配 的堆外內(nèi)存
- 特點(diǎn):不受堆大小限制
- 應(yīng)用場(chǎng)景:適用于頻繁調(diào)用的場(chǎng)景
通過(guò)一個(gè) 存儲(chǔ)在Java堆中的DirectByteBuffer對(duì)象 作為這塊內(nèi)存的引用 進(jìn)行操作,從而避免在Java 堆和 Native堆之間來(lái)回復(fù)制數(shù)據(jù),提高使用性能
- 拋出的異常:OutOfMemoryError,即與其他內(nèi)存區(qū)域的總和 大于 物理內(nèi)存限制
- 本文全面講解JVM中的內(nèi)存模型 & 分區(qū),總結(jié)如下
本文標(biāo)題:「秒懂!」JVM虛擬機(jī)圖文詳解!一點(diǎn)都不難
網(wǎng)站鏈接:http://www.5511xx.com/article/dpecjgo.html


咨詢(xún)
建站咨詢(xún)
