堆棧的概念 堆棧區(qū)別?
堆棧區(qū)別?堆棧:它是一種“先進(jìn),后出”的數(shù)據(jù)結(jié)構(gòu)。它通常用于在方法(函數(shù))中保存參數(shù)和局部變量。在Java中,所有基本類型和引用類型都存儲(chǔ)在堆棧中。堆棧中數(shù)據(jù)的生存空間通常在當(dāng)前范圍內(nèi)(即{…}包圍的
堆棧區(qū)別?
堆棧:它是一種“先進(jìn),后出”的數(shù)據(jù)結(jié)構(gòu)。它通常用于在方法(函數(shù))中保存參數(shù)和局部變量。在Java中,所有基本類型和引用類型都存儲(chǔ)在堆棧中。堆棧中數(shù)據(jù)的生存空間通常在當(dāng)前范圍內(nèi)(即{…}包圍的區(qū)域)
Heap:它是可以動(dòng)態(tài)應(yīng)用的內(nèi)存空間(可用內(nèi)存空間的鏈表由操作系統(tǒng)維護(hù))。C中malloc語句生成的內(nèi)存空間在堆中。
在Java中,new用于所有應(yīng)用程序,XXX()構(gòu)造的對(duì)象存儲(chǔ)在堆中。當(dāng)垃圾收集器檢測(cè)到某個(gè)對(duì)象未被引用時(shí),它將自動(dòng)銷毀該對(duì)象。因此,從理論上講,Java中對(duì)象的生存空間是沒有限制的。只要有一個(gè)引用類型指向它,它就可以在任何地方使用