1. 程式人生 > >記憶體中的堆疊和資料結構堆疊不一樣!

記憶體中的堆疊和資料結構堆疊不一樣!

記憶體中的堆疊和資料結構堆疊根本不是一個概念


記憶體中的堆疊和資料結構堆疊不是一個概念,可以說記憶體中的堆疊是真實存在的物理區,資料結構中的堆疊是抽象的資料儲存結構。
記憶體空間在邏輯上分為三部分:程式碼區、靜態資料區和動態資料區,動態資料區又分為棧區和堆區。

程式碼區:儲存方法體的二進位制程式碼。高階排程(作業排程)、中級排程(記憶體排程)、低階排程(程序排程)控制程式碼區執行程式碼的切換。
靜態資料區:儲存全域性變數、靜態變數、常量,常量包括final修飾的常量和String常量。系統自動分配和回收。
棧區:儲存執行方法的形參、區域性變數、返回值。由系統自動分配和回收。
堆區:new一個物件的引用或地址儲存在棧區,指向該物件儲存在堆區中的真實資料。