堆和棧的區別,記憶體管理機制

2021-09-26 12:13:13 字數 536 閱讀 1586

堆:執行緒共享的一塊區域,存放例項化的陣列物件gc堆

程式計數器:執行緒私有,位元組碼行號指示器。

方法區:和堆一樣是各個執行緒共享的記憶體區域,別名non-heap(非堆,和堆區分)

存放類資訊、常量、靜態變數

本地方法棧:存放native方法。

注意: 執行時常量池:存放編譯期時生成的各種字面量和符號引用

字面量:字面量可以理解為實際值

***注意壓入:byte,int,char 運算元棧之前轉為int,這也就解釋了為什麼

byte型別相加得到int型別的結果***

訪問堆的乙個具體單元:

第一種需要兩次訪問記憶體(控制代碼訪問),第一次得取得指標,第二次才是真正得資料,

第二種直接引用訪問一次,

訪問棧的乙個具體單元:

棧只需訪問一次。堆的內容被作業系統交換到外存比棧的概率比棧大,棧一般是不會被交換出去的。

記憶體管理機制

記憶體管理 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...