国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

基于java中stack與heap的區(qū)別,java中的垃圾回收機(jī)制的相關(guān)介紹

2019-11-26 16:11:27
字體:
供稿:網(wǎng)友

#. 在java中有兩類內(nèi)存。分別稱為stack(堆棧)和heap(堆)。

stack是程序內(nèi)存空間,因此所有的基本類型和對(duì)象的引用是存在stack中。

heap是java虛擬機(jī)儲(chǔ)存對(duì)象的,它是一個(gè)巨大的內(nèi)存,當(dāng)你創(chuàng)造一個(gè)對(duì)象,java虛擬機(jī)把對(duì)象放入heap中,把創(chuàng)造的對(duì)象的地址放入stack中。

因此,基本類型、對(duì)象的引用儲(chǔ)存在stack中;對(duì)象儲(chǔ)存在heap中。

#. java中的垃圾回收機(jī)制

當(dāng)你new一個(gè)新的對(duì)象,java分配必需的內(nèi)存。當(dāng)你用完一個(gè)對(duì)象時(shí),java的垃圾回收器為你把內(nèi)存收回。

垃圾回收以線程的形式在后臺(tái)運(yùn)行,尋找那些無有用引用(reference)的對(duì)象,發(fā)現(xiàn)之后便銷毀對(duì)象,并收回內(nèi)存。

垃圾回收是在java虛擬機(jī)間實(shí)現(xiàn)的,它們通常有相同的步驟,首先垃圾回收器獲得正在運(yùn)行的線程和所有已經(jīng)加載的類的快照,

然后所有線程中涉及到的對(duì)象被標(biāo)記為最近使用的,當(dāng)可能涉及的對(duì)象都被標(biāo)記的時(shí)候,剩下沒標(biāo)記的就被舍棄。

為了幫助虛擬機(jī),我們主動(dòng)移除一些不在需要的對(duì)象是一個(gè)不錯(cuò)的做法,可以通過將引用設(shè)置為null來實(shí)現(xiàn)。

eg:

Text t = new Test();

t.someAction();

//all done

t = null;

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 柳林县| 宕昌县| 玛纳斯县| 沂南县| 甘德县| 万荣县| 新巴尔虎右旗| 长宁县| 龙陵县| 曲阜市| 孝昌县| 赣榆县| 屯门区| 泉州市| 南陵县| 东兰县| 视频| 华蓥市| 曲阜市| 辽宁省| 伊吾县| 孟连| 阿拉善右旗| 翁牛特旗| 抚顺县| 嘉鱼县| 庆元县| 高雄市| 柘城县| 阿巴嘎旗| 伊川县| 海伦市| 芒康县| 肇州县| 武宣县| 齐齐哈尔市| 武夷山市| 繁昌县| 句容市| 民乐县| 福鼎市|