JVM記憶體管理機制

2022-09-20 02:06:10 字數 515 閱讀 7399

1.程式計數器(program counter register)

可以看做當前執行緒所執行的行號指示器,j**a的位元組碼直譯器就是通過改變這個計數器的值來選取下一條要執行的位元組碼指令,分支、跳轉、迴圈、異常處理等都需要依賴這個計數器來完成程式執行。

j**a虛擬機器的多執行緒是通過執行緒輪流切換並分配處理器執行時間來實現的。因此,在任何乙個時刻,乙個處理器(對於多核處理器來說是乙個核心)都只會執行一條執行緒中的指令。為了保證執行緒切換以後能恢復到正確的執行位置,每條執行緒都需要有乙個獨立的程式計數器,各條執行緒之間互不影響,獨立儲存,我們稱這類記憶體區域為「執行緒私有」的。

如果乙個執行緒正在執行的方法為j**a方法,則程式計數器指向虛擬機器位元組碼指令的位址;如果正在執行的是乙個native方法,則程式計數器值為空(undefined)。

2.j**a虛擬機器棧

與程式計數器一樣,j**a虛擬機器棧也是執行緒私有的。

3.本地方法棧

4.j**a堆

5.方法區

6.執行時常量池

7.直接記憶體

記憶體管理機制

記憶體管理 jvm將記憶體分成三大主要區域 堆,棧,方法區,用來儲存資料。堆 堆中主要儲存引用型別物件,給成員變數分配空間。棧 jvm在執行程式時,在棧中會為每乙個方法都提供儲存空間叫棧幀,用來儲存方法中的區域性變數。方法區 用來儲存jvm載入的位元組碼檔案的資訊 類的資訊 包含類的方法,方法只有乙...

記憶體管理機制

記憶體管理是乙個作業系統必不可少 並且 非常重要的一環 linux 的成功 和它優秀的記憶體管理聯絡非常密切 因為乙個系統的高效性慾穩定性往往決定於它的記憶體管理機制 我項很多人吃過 dos 下 640k 的苦吧 前面我們介紹了 386 保護模式 從今天起我們將在此基礎上 分析 linux 的虛擬儲...

iOS 記憶體管理機制

學習要點 1.reference counting 引用計數機制 2.了解mrc apc和gc 3.autoreleasepool 執行機制 4.如何避免 retain cycle reference counting 引用計數機制 cocoa 上基本的記憶體管理機制就是引用計數,通過乙個 refe...