亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java的垃圾回收(Garbage Collection)機制

2019-11-18 13:35:08
字體:
來源:轉載
供稿:網友

    一。誰在做Garbage Collection?

    一種流行的說法:在C++里,是系統在做垃圾回收;而在java里,是Java自身在做。

    在C++里,釋放內存是手動處理的,要用delete運算符來釋放分配的內存。這是流行的說法。確切地說,是應用認為不需要某實體時,就需用delete告訴系統,可以回收這塊空間了。這個要求,對編碼者來說,是件很麻煩、很難做到的事。隨便上哪個BBS,在C/C++版塊里總是有一大堆關于內存泄漏的話題。

    Java采用一種不同的,很方便的方法:Garbage Collection.垃圾回收機制放在JVM里。JVM完全負責垃圾回收事宜,應用只在需要時申請空間,而在拋棄對象時不必關心空間回收問題。

    二。對象在啥時被丟棄?

    在C++里,當對象離開其作用域時,該對象即被應用拋棄。

    是對象的生命期不再與其作用域有關,而僅僅與引用有關。

    Java的垃圾回收機制一般包含近十種算法。對這些算法中的多數,我們不必予以關心。只有其中最簡單的一個:引用計數法,與編碼有關。

    一個對象,可以有一個或多個引用變量指向它。當一個對象不再有任何一個引用變量指向它時,這個對象就被應用拋棄了?;蛘哒f,這個對象可以被垃圾回收機制回收了。

    這就是說,當不存在對某對象的任何引用時,就意味著,應用告訴JVM:我不要這個對象,你可以回收了。

    JVM的垃圾回收機制對堆空間做實時檢測。當發現某對象的引用計數為0時,就將該對象列入待回收列表中。但是,并不是馬上予以銷毀。

    三。丟棄就被回收?

    該對象被認定為沒有存在的必要了,那么它所占用的內存就可以被釋放。被回收的內存可以用于后續的再分配。

    但是,并不是對象被拋棄后當即被回收的。JVM進程做空間回收有較大的系統開銷。假如每當某應用進程丟棄一個對象,就立即回收它的空間,勢必會使整個系統的運轉效率非常低下。

    前面說過,JVM的垃圾回收機制有多個算法。除了引用計數法是用來判定對象是否已被拋棄外,其它算法是用來確定何時及如何做回收。JVM的垃圾回收機制要在時間和空間之間做個平衡。

    因此,為了提高系統效率,垃圾回收器通常只在滿足兩個條件時才運行:即有對象要回收且系統需要回收。切記垃圾回收要占用時間,因此,Java運行時系統只在需要的時候才使用它。因此你無法知道垃圾回收發生的精確時間。

    四。沒有引用變量指向的對象有用嗎?

    前面說了,沒掛上引用變量的對象是被應用丟棄的,這意味著,它在堆空間里是個垃圾,隨時可能被JVM回收。

    不過,這里有個不是例外的例外。對于一次性使用的對象(有些書稱之為臨時對象),可以不用引用變量指向它。舉個最簡單也最常見的例子:

    System.out.PRintln(“I am Java!”);

    就是創建了一個字符串對象后,直接傳遞給println()方法。

    五。應用能干預垃圾回收嗎?

    許多人對Java的垃圾回收不放心,希望在應用代碼里控制JVM的垃圾回收運作。這是不可能的事。對垃圾回收機制來說,應用只有兩個途徑發消息給JVM.第一個前面已經說了,就是將指向某對象的所有引用變量全部移走。這就相當于向JVM發了一個消息:這個對象不要了。第二個是調用庫方法System.gc(),多數書里說調用它讓Java做垃圾回收。

    第一個是一個告知,而調用System.gc()也僅僅是一個請求。JVM接受這個消息后,并不是立即做垃圾回收,而只是對幾個垃圾回收算法做了加權,使垃圾回收操作輕易發生,或提早發生,或回收較多而已。

    希望JVM及時回收垃圾,是一種需求。其實,還有相反的一種需要:在某段時間內最好不要回收垃圾。要求運行速度最快的實時系統,非凡是嵌入式系統,往往希望如此。

    Java的垃圾回收機制是為所有Java應用進程服務的,而不是為某個特定的進程服務的。因此,任何一個進程都不能命令垃圾回收機制做什么、怎么做或做多少。

    六。對象被回收時要做的事

    一個對象在運行時,可能會有一些東西與其關連。因此,當對象即將被銷毀時,有時需要做一些善后工作。可以把這些操作寫在finalize()方法(常稱之為終止器)里。

    protected void finalize()

    {

    // finalization code here

    }

    這個終止器的用途類似于C++里的析構函數,而且都是自動調用的。但是,兩者的調用時機不一樣,使兩者的表現行為有重大區別。C++的析構函數總是當對象離開作用域時被調用。這就是說,C++析構函數的調用時機是確定的,且是可被應用判知的。但是,Java終止器卻是在對象被銷毀時。由上所知,被丟棄的對象何時被銷毀,應用是無法獲知的。而且,對于大多數場合,被丟棄對象在應用終止后仍未銷毀。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本亚洲欧洲色α| 欧美黄色片在线观看| 最近免费中文字幕视频2019| 性欧美长视频免费观看不卡| 久久久午夜视频| 九九热r在线视频精品| 欧美成人自拍视频| 亚洲精品电影网| 宅男66日本亚洲欧美视频| 爱福利视频一区| 成人免费直播live| 97人人模人人爽人人喊中文字| 97久久久免费福利网址| 精品国产依人香蕉在线精品| 久久久久久久国产精品| 疯狂欧美牲乱大交777| 久久精品国产2020观看福利| 日韩福利伦理影院免费| 日韩精品在线观看一区| 国产精品成av人在线视午夜片| 日韩欧美有码在线| 国产精品成人国产乱一区| 亚洲国产精品999| 中文字幕日韩av电影| 91高清视频免费观看| 久久人人97超碰精品888| 亚洲精品国产成人| 一个人看的www欧美| 久久久久五月天| 国语对白做受69| 欧美精品videosex牲欧美| 欧美精品第一页在线播放| 久久久噜噜噜久久| 欧美疯狂做受xxxx高潮| 精品亚洲一区二区三区| 精品久久久久人成| 欧美亚洲国产另类| 亚洲片国产一区一级在线观看| 精品国产老师黑色丝袜高跟鞋| 亚洲国产精品视频在线观看| 88国产精品欧美一区二区三区| 一区国产精品视频| 国产欧美精品一区二区| 狠狠躁夜夜躁人人爽超碰91| 亚洲第一精品电影| 欧美日韩美女视频| 亚洲精品国精品久久99热| 国产精品成av人在线视午夜片| 亚洲va久久久噜噜噜久久天堂| 精品欧美一区二区三区| 欧美激情在线一区| 在线视频精品一| 日本免费久久高清视频| 日韩在线观看视频免费| 爽爽爽爽爽爽爽成人免费观看| 日韩国产欧美精品一区二区三区| 欧美性理论片在线观看片免费| 国产欧洲精品视频| 色777狠狠综合秋免鲁丝| 久久精品中文字幕免费mv| 中文字幕av一区| 精品一区二区三区电影| 色婷婷亚洲mv天堂mv在影片| 中文字幕日韩精品在线观看| 久久久久久久999精品视频| 亚洲理论片在线观看| 日本午夜在线亚洲.国产| 国内外成人免费激情在线视频网站| 成人免费视频xnxx.com| 亚洲精品美女在线观看| 精品久久久在线观看| 一区二区三区视频免费| 蜜月aⅴ免费一区二区三区| 国产成人在线视频| 色综合久久88色综合天天看泰| 国产91亚洲精品| 色无极亚洲影院| 成人h视频在线观看播放| 欧美国产第一页| 91免费福利视频| 久久精品国产亚洲7777| 亚洲精品大尺度| 精品一区二区电影| 精品久久中文字幕| 久99久在线视频| 国内揄拍国内精品| 国产精品男女猛烈高潮激情| 亚洲人成亚洲人成在线观看| 91福利视频网| 美女少妇精品视频| 一区二区在线视频播放| 色噜噜久久综合伊人一本| 2019中文字幕在线观看| 欧美午夜精品久久久久久人妖| 亚洲字幕在线观看| 青青草国产精品一区二区| 庆余年2免费日韩剧观看大牛| 精品国内亚洲在观看18黄| 亚洲国产日韩欧美综合久久| 国产成人自拍视频在线观看| 97超级碰碰碰| 中文字幕一区日韩电影| 久久精品视频在线播放| 久久影视电视剧免费网站| 欧美精品18videos性欧美| 欧美日韩国产成人高清视频| 日韩成人在线电影网| 欧美在线观看网站| 久久久亚洲影院你懂的| 日韩精品在线视频美女| 日韩亚洲欧美成人| 97视频在线看| 亚洲成人国产精品| 一个人看的www久久| 九九热最新视频//这里只有精品| 色伦专区97中文字幕| 日韩av一区二区在线观看| 国产91在线高潮白浆在线观看| 97精品国产91久久久久久| 亚洲码在线观看| 久久亚洲综合国产精品99麻豆精品福利| 亚洲一区二区久久久久久| 中文字幕日韩av| 欧美成人免费大片| 国产精品18久久久久久首页狼| 久久久久久久影视| 日韩成人av网| 久久成人综合视频| 亚洲高清不卡av| 欧美另类老女人| 国产成人自拍视频在线观看| 日韩亚洲国产中文字幕| 欧美性猛交视频| 国产成人91久久精品| 国产69精品久久久久9999| 日韩av免费在线观看| 北条麻妃久久精品| 国产91在线播放九色快色| 亚洲精品久久久久久久久久久久久| 国产福利视频一区| 最好看的2019的中文字幕视频| 国产精品三级久久久久久电影| 91青草视频久久| 69av视频在线播放| 国产精品老女人精品视频| 97色在线观看免费视频| 7777kkkk成人观看| 日韩美女在线播放| 精品久久中文字幕久久av| 精品偷拍各种wc美女嘘嘘| 92看片淫黄大片看国产片| 日韩电影视频免费| 不卡av电影在线观看| 日本欧美黄网站| 亚洲欧美日韩国产中文| 久久影视免费观看| 成人a在线观看| 国产精品稀缺呦系列在线| 97色伦亚洲国产| 久久久久久久999精品视频| 亚洲奶大毛多的老太婆| 欧美壮男野外gaytube| 欧美激情亚洲综合一区| 欧美理论在线观看|