13 張圖解 Java 中的內(nèi)存模型,快上車!
點擊上方“JAVA”,星標公眾號

了解Java中的對象、變量等存放的內(nèi)存區(qū)域十分重要 本文將全面講解Java虛擬機中的內(nèi)存模型 & 分區(qū),希望你們會喜歡
目錄
1. 內(nèi)存模型 & 分區(qū)
Java虛擬機在運行Java程序時,會管理著一塊內(nèi)存區(qū)域:運行時數(shù)據(jù)區(qū)
在運行時數(shù)據(jù)區(qū)里,會根據(jù)用途進行劃分:
Java虛擬機棧(棧區(qū)) 本地方法棧 Java堆(堆區(qū)) 方法區(qū) 程序計數(shù)器

2. Java堆
3. Java虛擬機棧
4. 本地方法棧
?5. 方法區(qū)
6. 程序計數(shù)器
?7. 額外知識:直接內(nèi)存
定義:NIO類(JDK1.4引入)中基于通道和緩沖區(qū)的I/O方式 通過使用Native函數(shù)庫 直接分配 的堆外內(nèi)存 特點:不受堆大小限制
不屬于虛擬機運行時數(shù)據(jù)區(qū)的一部分 & 不在堆中分配
應(yīng)用場景:適用于頻繁調(diào)用的場景
通過一個 存儲在Java堆中的DirectByteBuffer對象 作為這塊內(nèi)存的引用 進行操作,從而避免在 Java 堆和 Native堆之間來回復(fù)制數(shù)據(jù),提高使用性能
拋出的異常:OutOfMemoryError,即與其他內(nèi)存區(qū)域的總和 大于 物理內(nèi)存限制
8. 總結(jié)
作者:Carson_Ho ?
鏈接:juejin.im/post/6844903677279338509
更多精彩?
在公眾號【程序員編程】對話框輸入以下關(guān)鍵詞 查看更多優(yōu)質(zhì)內(nèi)容! 大數(shù)據(jù)?|?Java?|?1024?|?電子書?|?速查表? Python進階?|?面試?|?手冊?|?成神?|?思想?|?小程序 命令行?|?人工智能?|?軟件測試?|?Web前端?|?Python 獲取更多學(xué)習(xí)資料
視頻 |?面試 |?技術(shù) | 電子書?
評論
圖片
表情
