對C++堆和棧的理解認識
棧內存:棧內存首先是一片內存區域,存儲的都是局部變量,凡是定義在方法中的都是局部變量(方法外的是全局變量),for循環內部定義的也是局部變量,是先加載函數才能進行局部變量的定義,所以方法先進棧,然後再定義變量,變量有自己的作用域,一旦離開作用域,變量就會被釋放。棧內存的更新速度很快,因爲局部變量的生命週期都很短。
堆內存:存儲的是數組和對象(其實數組就是對象),凡是new建立的都是在堆中,堆中存放的都是實體(對象),實體用於封裝數據,而且是封裝多個(實體的多個屬性),如果一個數據消失,這個實體也沒有消失,還可以用,所以堆是不會隨時釋放的,但是棧不一樣,棧裏存放的都是單個變量,變量被釋放了,那就沒有了。堆裏的實體雖然不會被釋放,但是會被當成垃圾,Java有垃圾回收機制不定時的收取。
堆內存:存儲的是數組和對象(其實數組就是對象),凡是new建立的都是在堆中,堆中存放的都是實體(對象),實體用於封裝數據,而且是封裝多個(實體的多個屬性),如果一個數據消失,這個實體也沒有消失,還可以用,所以堆是不會隨時釋放的,但是棧不一樣,棧裏存放的都是單個變量,變量被釋放了,那就沒有了。堆裏的實體雖然不會被釋放,但是會被當成垃圾,Java有垃圾回收機制不定時的收取。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
芯片產業管理和營銷指北(3)—— 贏得客戶
zer0black
2024-06-09 14:34:09
【stars-one】 星念輕小說下載器
Stars-one
2024-06-09 14:22:28
shell編程相關的
shell腳本獲取腳本所在目錄 執行腳本的父目錄不一定是當前的工作目錄。 url=$(dirname $(readlink -f $0))
馬昌偉
2024-06-09 14:16:47
kvm鏈接克隆虛擬機遷移到openstack機器的實驗
馬昌偉
2024-06-09 14:16:47
【Python】DQN處理CartPole-v1
Dsp Tian
2024-06-09 14:14:07
P1355 神祕大三角(凸包)
SnowLove
2024-06-09 14:13:17
前端使用 Konva 實現可視化設計器(13)- 折線 - 最優路徑應用【思路篇】
xachary
2024-06-09 14:10:57
生產計劃範圍的擴展 - 工單的拆分與合併
kentzhang
2024-06-09 14:09:57
APS系統設計經驗分享(時間推導II - 2023.09)
kentzhang
2024-06-09 14:09:57
排程過程中任務鎖定的外延與內涵
kentzhang
2024-06-09 14:09:57
排程系統中關於任務優先級的需求延伸與設計構思
kentzhang
2024-06-09 14:09:57
從零手寫實現 nginx-11-文件處理邏輯與 range 範圍查詢合併
葉止水
2024-06-09 14:02:36
nginx快速分析日誌並找出攻擊IP
xiaobingch
2024-06-09 13:59:16
Vue CLI 4與項目構建實戰指南
Mifen
2024-06-09 13:40:15