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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

java 之 對(duì)象與垃圾回收

2019-11-15 00:42:47
字體:
供稿:網(wǎng)友
java 之 對(duì)象與垃圾回收

1.垃圾回收機(jī)制只負(fù)責(zé)回收堆內(nèi)存中的對(duì)象,不會(huì)回收任何物理資源(如數(shù)據(jù)庫連接,網(wǎng)絡(luò)IO等資源)

2.程序無法精確控制垃圾回收的運(yùn)行,垃圾回收會(huì)在合適的時(shí)候運(yùn)行。當(dāng)對(duì)象永久的失去引用后,系統(tǒng)會(huì)在合適的時(shí)間回收其占用的內(nèi)存。

3.在垃圾回收機(jī)制回收任何對(duì)象之前,總會(huì)先調(diào)用它的finalize()方法。

對(duì)象在內(nèi)存中的狀態(tài):

可 達(dá) 狀 態(tài):當(dāng)一個(gè)對(duì)象被創(chuàng)建后,若有一個(gè)以上的引用變量引用他,則這個(gè)對(duì)象在程序中處于可達(dá)狀態(tài),程序可通過引用變量來調(diào)用該對(duì)象的實(shí)例變量和方法。

可恢復(fù)狀態(tài):如果程序中某個(gè)變量不在有任何引用變量引用它,它就進(jìn)入了可恢復(fù)狀態(tài)。在這種狀態(tài)下,垃圾回收機(jī)制會(huì)準(zhǔn)備回收這個(gè)變量所對(duì)應(yīng)的內(nèi)存,在回收該對(duì)象之前,系 統(tǒng)會(huì)調(diào)用所用可恢復(fù)對(duì)象的fnalize()方法,如果此時(shí)有一個(gè)引用變量引用該對(duì)象,該對(duì)象就重新變?yōu)榭蛇_(dá)狀態(tài)。

不可達(dá)狀態(tài):當(dāng)對(duì)象和所用引用變量的聯(lián)系被切斷,且系統(tǒng)已經(jīng)調(diào)用了該對(duì)象的finalize()方法,仍沒有使該對(duì)象變?yōu)榭蛇_(dá)狀態(tài)。此時(shí)該對(duì)象進(jìn)入不可達(dá)狀態(tài),只有當(dāng)對(duì)象處于不可達(dá)狀態(tài)時(shí),系統(tǒng)才會(huì)開始回收該對(duì)象占用的資源。

public class StatusTranfer{    public static void test(){        //執(zhí)行此步時(shí),對(duì)象12345處于可達(dá)狀態(tài)        String a = new String("12345");        //執(zhí)行到此步時(shí),對(duì)象12345處于可恢復(fù)狀態(tài)        //對(duì)象123處于可達(dá)狀態(tài)        a = new String("123");    }    public static void main(String[] args) {        test();    }}

強(qiáng)制垃圾回收 程序只能控制一個(gè)對(duì)象什么時(shí)候不被引用變量引用,但不能控制系統(tǒng)什么時(shí)候進(jìn)行垃圾回收。

程序無法精確控制java垃圾回收的時(shí)機(jī),但仍然能夠強(qiáng)制系統(tǒng)進(jìn)行垃圾回收————這種強(qiáng)制只是通知系統(tǒng)進(jìn)行垃圾回收,但系統(tǒng)是否進(jìn)行垃圾回收仍然不確定。大部分時(shí)候,程序強(qiáng)制系統(tǒng)進(jìn)行垃圾回收會(huì)有一些效果。

強(qiáng)制垃圾回收的兩種方式:

1。調(diào)用System類的gc()靜態(tài)方法: System.gc()

2.調(diào)用Runtime的gc()實(shí)例方法:Runtime.getRuntime().gc()。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 舟山市| 中方县| 花莲县| 扬州市| 丰都县| 姜堰市| 武宁县| 龙游县| 洱源县| 姜堰市| 城固县| 阳山县| 土默特左旗| 武安市| 普宁市| 甘孜| 南丰县| 松溪县| 盐津县| 西藏| 天峻县| 运城市| 迁西县| 石柱| 西安市| 华宁县| 息烽县| 东阳市| 柳林县| 屯昌县| 兴安县| 公主岭市| 奉化市| 昆明市| 西宁市| 磴口县| 青铜峡市| 德格县| 四川省| 化隆| 汉川市|