第 7 章 本地方法堆疊
1、本地方法堆疊
微信搜一搜: 全堆疊小劉,獲取文章全套 pdf版
本地方法堆疊的特點
- Java虛擬機堆疊于管理Java方法的呼叫,而本地方法堆疊用于管理本地方法的呼叫,
- 本地方法堆疊,也是執行緒私有的,
- 允許被實作成固定或者是可動態擴展的記憶體大小(在記憶體溢位方面和虛擬機堆疊相同)
- 如果執行緒請求分配的堆疊容量超過本地方法堆疊允許的最大容量,Java虛擬機將會拋出一個stackoverflowError 例外,
- 如果本地方法堆疊可以動態擴展,并且在嘗試擴展的時候無法申請到足夠的記憶體,或者在創建新的執行緒時沒有足夠的記憶體去創建對應的本地方法堆疊,那么Java虛擬機將會拋出一個outofMemoryError例外,
- 本地方法一般是使用C語言實作的,
- 它的具體做法是Native Method Stack中登記native方法,在Execution Engine 執行時加載本地方法庫,

注意事項
- 當某個執行緒呼叫一個本地方法時,它就進入了一個全新的并且不再受虛擬機限制的世界,它和虛擬機擁有同樣的權限,
- 本地方法可以通過本地方法介面來訪問虛擬機內部的運行時資料區
- 它甚至可以直接使用本地處理器中的暫存器
- 直接從本地記憶體的堆中分配任意數量的記憶體
- 并不是所有的JVM都支持本地方法,因為Java虛擬機規范并沒有明確要求本地方法堆疊的使用語言、具體實作方式、資料結構等,如果JVM產品不打算支持native方法,也可以無需實作本地方法堆疊,
- 在Hotspot JVM中,直接將本地方法堆疊和虛擬機堆疊合二為一,
你只管學習,我來負責記筆記?? 關注公眾號! ,更多筆記,等你來拿,謝謝





轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/168232.html
標籤:其他
上一篇:# 第 6 章 本地方法介面詳解
