python 堆_面试再问你什么是堆和栈,你就把这篇文章甩给他
棧:管程序如何運(yùn)行的,程序如何執(zhí)行,如何處理數(shù)據(jù)。(局部變量其實(shí)也是存在棧中的,引用數(shù)據(jù)類型在棧中存的是地址引用)(棧的空間就不需要那么大了)
堆:管數(shù)據(jù)存儲(chǔ)的。(引用數(shù)據(jù)類型的存放,所以堆的空間是比較大的)
生活理解
是不是很形象?哈哈
棧的作用
主管Java程序的運(yùn)行,它保存方法的局部變量(8種基本數(shù)據(jù)類型、對(duì)象的引用地址)、部分中間的結(jié)果,并參與方法的調(diào)用和返回。我們先粗粒度感受一個(gè)棧的結(jié)構(gòu):
每個(gè)線程都有自己的棧,棧中的數(shù)據(jù)都是以棧幀(stack Frame)的格式為基本單位進(jìn)行存儲(chǔ)的。(棧中保存的就是一個(gè)個(gè)棧幀)
在這個(gè)線程上正在執(zhí)行的每個(gè)方法都各自對(duì)應(yīng)一個(gè)棧幀。方法和棧幀一一對(duì)應(yīng),一個(gè)方法的執(zhí)行會(huì)伴隨這棧幀入棧,一個(gè)方法的結(jié)束會(huì)拌嘴棧幀的出棧)
棧中是否存在垃圾回收
不存在,棧中就是入棧出棧。
假如底層用數(shù)組實(shí)現(xiàn)的話,其實(shí)就是移動(dòng)下標(biāo)的。
模擬棧結(jié)構(gòu)C語(yǔ)言代碼:(棧用數(shù)組實(shí)現(xiàn)) https://www.jb51.net/article/69375.htm 棧和隊(duì)列,是操作受限制的線性表,既然是線性表,那么你用順序表,鏈表都可以實(shí)現(xiàn)。堆:利用完全二叉樹的結(jié)構(gòu)來(lái)維護(hù)一組數(shù)據(jù)
小編這里整理了一套Python入門基礎(chǔ)教程,如何你打算學(xué)Python,或者已經(jīng)在學(xué)Python的小伙伴,下面這些資料我相信應(yīng)該非常適合你。
獲取方式私信發(fā)送【資料】即可免費(fèi)領(lǐng)取
Python實(shí)戰(zhàn)案例
Python自動(dòng)化辦公教程(超級(jí)詳細(xì))
Python入門電子書
總結(jié)
以上是生活随笔為你收集整理的python 堆_面试再问你什么是堆和栈,你就把这篇文章甩给他的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tensorflow支持python3.
- 下一篇: otis电梯服务器tt使用说明_南充私人