一职辅、堆椨蹋空間分配區(qū)別:
1奥邮、棧(操作系統(tǒng)):由操作系統(tǒng)自動(dòng)分配釋放 鹅颊,存放函數(shù)的參數(shù)值,局部變量的值等肩杈。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧柴我;
2、堆(操作系統(tǒng)): 一般由程序員分配釋放扩然, 若程序員不釋放艘儒,程序結(jié)束時(shí)可能由OS回收,分配方式倒是類似于鏈表夫偶。
二界睁、堆棧緩存方式區(qū)別:
1、棧使用的是一級(jí)緩存兵拢, 他們通常都是被調(diào)用時(shí)處于存儲(chǔ)空間中翻斟,調(diào)用完畢立即釋放;
2说铃、堆是存放在二級(jí)緩存中访惜,生命周期由虛擬機(jī)的垃圾回收算法來(lái)決定(并不是一旦成為孤兒對(duì)象就能被回收)。所以調(diào)用這些對(duì)象的速度要相對(duì)來(lái)得低一些腻扇。
三债热、堆棧數(shù)據(jù)結(jié)構(gòu)區(qū)別:
堆(數(shù)據(jù)結(jié)構(gòu)):堆可以被看成是一棵樹(shù),如:堆排序幼苛;
棧(數(shù)據(jù)結(jié)構(gòu)):一種先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu)窒篱。
四、其他
棧:由高到低
堆(靜態(tài)區(qū)):由低到高