日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

JVM 虛擬機(jī)圖文詳解!真香!秒懂!一點(diǎn)都不難!

 鷹兔牛熊眼 2020-04-13

做積極的人,而不是積極廢人!

源碼精品專欄

 

來(lái)源:網(wǎng)絡(luò)

  • 1. 內(nèi)存模型 & 分區(qū)
  • 2. Java 堆
  • 3. Java 虛擬機(jī)棧
  • 4. 本地方法棧
  • 5. 方法區(qū)
  • 6. 程序計(jì)數(shù)器
  • 7. 額外知識(shí):直接內(nèi)存

前言:

  • 了解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)行劃分:


    1. Java虛擬機(jī)棧(棧區(qū))
    2. 本地方法棧
    3. Java堆(堆區(qū))
    4. 方法區(qū)
    5. 程序計(jì)數(shù)器
  • 下面,我將詳細(xì)介紹每個(gè)內(nèi)存模型分區(qū)

2. Java 堆

  • 示意圖
  • 簡(jiǎn)介

3. Java 虛擬機(jī)棧

  • 示意圖
  • 簡(jiǎn)介

4. 本地方法棧

  • 示意圖
  • 簡(jiǎn)介

    十分類似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類(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é)如下

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多