麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

Java中的堆與棧

2019-11-06 06:06:15
字體:
供稿:網(wǎng)友

詳見:http://www.cnblogs.com/whgw/archive/2011/09/29/2194997.html

java把內(nèi)存分成兩種,一種叫做棧內(nèi)存,一種叫做堆內(nèi)存

在函數(shù)中定義的一些基本類型的變量和對象的引用變量都是在函數(shù)的棧內(nèi)存中分配。當(dāng)在一段代碼塊中定義一個變量時,java就在棧中為這個變量分配內(nèi)存空間,當(dāng)超過變量的作用域后,java會自動釋放掉為該變量分配的內(nèi)存空間,該內(nèi)存空間可以立刻被另作他用。

堆內(nèi)存用于存放由new創(chuàng)建的對象和數(shù)組。在堆中分配的內(nèi)存,由java虛擬機自動垃圾回收器來管理。在堆中產(chǎn)生了一個數(shù)組或者對象后,還可以在棧中定義一個特殊的變量,這個變量的取值等于數(shù)組或者對象在堆內(nèi)存中的首地址,在棧中的這個特殊的變量就變成了數(shù)組或者對象的引用變量,以后就可以在程序中使用棧內(nèi)存中的引用變量來訪問堆中的數(shù)組或者對象,引用變量相當(dāng)于為數(shù)組或者對象起的一個別名,或者代號。

引用變量是普通變量,定義時在棧中分配內(nèi)存,引用變量在程序運行到作用域外釋放。而數(shù)組&對象本身在堆中分配,即使程序運行到使用new產(chǎn)生數(shù)組和對象的語句所在地代碼塊之外,數(shù)組和對象本身占用的堆內(nèi)存也不會被釋放,數(shù)組和對象在沒有引用變量指向它的時候,才變成垃圾,不能再被使用,但是仍然占著內(nèi)存,在隨后的一個不確定的時間被垃圾回收器釋放掉。這個也是java比較占內(nèi)存的主要原因,實際上,棧中的變量指向堆內(nèi)存中的變量,這就是 Java 中的指針!

堆主要用來存放對象的,棧主要是用來執(zhí)行程序的


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 一级α片 | 美女av在线免费观看 | 欧美成人精品一区 | 精品亚洲一区二区三区 | 久久免费视屏 | 日韩视频精品一区 | 91香蕉影视 | 少妇的肉体的满足毛片 | 91精品国产777在线观看 | 92看片淫黄大片欧美看国产片 | 久久久久久99 | 黄色网页在线观看 | 国产一区免费 | 成人在线视频网 | 911精品影院在线观看 | 97超视频在线观看 | 性少妇freeseⅹbbwhd | 欧美14一15sex性hd | 空姐毛片 | 日韩精品中文字幕一区二区 | 午夜爽爽爽男女免费观看hd | 日韩精品久久久久久久九岛 | 国产精品成人久久久久a级 欧美特黄一级高清免费的香蕉 | 成人国产精品一区二区毛片在线 | 成人黄色网战 | 九九热久久免费视频 | 久久久久国产成人精品亚洲午夜 | 99极品视频| 久久久国产精品免费观看 | 欧美粗暴analvideos | 九九色网站 | 超碰97在线人人 | 99国产精品自拍 | 欧美日韩免费观看视频 | 欧美一级做a | 久久情爱网 | h视频在线免费观看 | 日本黄色免费片 | 高清中文字幕在线 | 黄wwww| 欧美亚洲国产成人 |