????????內(nèi)存中的堆棧和數(shù)據(jù)結(jié)構(gòu)堆棧不是一個概念碧囊,可以說內(nèi)存中的堆棧是真實存在的物理區(qū)咖楣,數(shù)據(jù)結(jié)構(gòu)中的堆棧是抽象的數(shù)據(jù)存儲結(jié)構(gòu)瑟匆。
????????內(nèi)存空間在邏輯上分為三部分:代碼區(qū)甸箱、靜態(tài)數(shù)據(jù)區(qū)和動態(tài)數(shù)據(jù)區(qū)育叁,動態(tài)數(shù)據(jù)區(qū)又分為棧區(qū)和堆區(qū)。
代碼區(qū):存儲方法體的二進(jìn)制代碼芍殖。高級調(diào)度(作業(yè)調(diào)度)豪嗽、中級調(diào)度(內(nèi)存調(diào)度)、低級調(diào)度(進(jìn)程調(diào)度)控制代碼區(qū)執(zhí)行代碼的切換豌骏。
靜態(tài)數(shù)據(jù)區(qū):存儲全局變量龟梦、靜態(tài)變量、常量窃躲,常量包括final修飾的常量和String常量计贰。系統(tǒng)自動分配和回收。
棧區(qū):存儲運行方法的形參蒂窒、局部變量躁倒、返回值荞怒。由系統(tǒng)自動分配和回收。
堆區(qū):new一個對象的引用或地址存儲在棧區(qū)樱溉,指向該對象存儲在堆區(qū)中的真實數(shù)據(jù)挣输。