首頁 >常見問題 >heap和stack差別是什麼

heap和stack差別是什麼

coldplay.xixi
coldplay.xixi原創
2020-11-27 14:11:4130472瀏覽

heap和stack區別:1、heap是堆,stack是棧;2、stack的空間由操作系統自動分配和釋放,heap的空間是手動申請和釋放的;3、stack空間有限, heap的空間是很大的自由區。

heap和stack差別是什麼

heap和stack區別:

1、heap是堆,stack是堆疊。

2、stack的空間由作業系統自動分配和釋放,heap的空間是手動申請和釋放的,heap常用new關鍵字來分配。

3、stack空間有限,heap的空間是很大的自由區。在Java中,若只是宣告一個對象,則先在棧記憶體中為其分配地址空間,若再new一下,實例化它,則在堆內存中為其分配地址。

4、範例:資料型態 變數名;這樣定義的東西在堆疊區。如:Object a =null; 只在堆疊記憶體中分配空間new 資料型別();或malloc(長度); 這樣定義的東西就在堆區如:Object b =new Object();則在堆記憶體中分配空間

以上是heap和stack差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn