国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)于java垃圾回收的小結(jié)

這篇具有很好參考價(jià)值的文章主要介紹了關(guān)于java垃圾回收的小結(jié)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、為什么要有垃圾回收

我們每次創(chuàng)建對(duì)象都需要在棧上開(kāi)辟空間,堆上使用內(nèi)存,如果我們只是開(kāi)辟了這個(gè)空間,而不去釋放他,那么再大的內(nèi)存和空間也會(huì)有滿的一天,所以我們?cè)贘ava中引入了GC(垃圾回收機(jī)制)

二、GC如何確認(rèn)是否是垃圾

可達(dá)性分析:以代碼中的一些變量為起點(diǎn),看哪些對(duì)象能被訪問(wèn)到,標(biāo)記為可達(dá),剩下的不可達(dá)的也就是垃圾了。

這里稱為起點(diǎn)的變量(GCRoot),可以為棧內(nèi)的局部變量,常量池中的對(duì)象,方法區(qū)中的靜態(tài)引用類型的成員。

大家可以將他想成一個(gè)二叉樹(shù)

關(guān)于java垃圾回收的小結(jié),java,開(kāi)發(fā)語(yǔ)言

不可達(dá),就是把他們中間相互連接的這個(gè)線給抹除,無(wú)法訪問(wèn)

然后GC就認(rèn)為2是垃圾,就會(huì)去回收他

三:GC回收的方法

Java中采用分代回收的方法

關(guān)于java垃圾回收的小結(jié),java,開(kāi)發(fā)語(yǔ)言

?新開(kāi)辟的進(jìn)程會(huì)被放在伊甸區(qū),GC會(huì)頻繁對(duì)其進(jìn)行掃描

每次掃描,該進(jìn)程的年齡就會(huì)增加一歲

如果到了一定的年齡,該進(jìn)程任然在運(yùn)行,不是垃圾,那么就會(huì)被放到掃描頻率低一點(diǎn)的幸存區(qū)

如果在幸存區(qū)進(jìn)行反復(fù)掃描依然存活

最后就會(huì)被丟到掃描頻率最低的老年區(qū)

PS:一個(gè)很大的程序會(huì)被直接丟到老年區(qū)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-563235.html

到了這里,關(guān)于關(guān)于java垃圾回收的小結(jié)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java垃圾回收機(jī)制

    java垃圾回收機(jī)制

    Java 的自動(dòng)內(nèi)存管理主要是針對(duì)對(duì)象內(nèi)存的回收和對(duì)象內(nèi)存的分配。同時(shí),Java 自動(dòng)內(nèi)存管理最核心的功能是? 堆 ?內(nèi)存中對(duì)象的分配與回收。Java 堆是垃圾收集器管理的主要區(qū)域,因此也被稱作? GC 堆。 Eden 區(qū)、兩個(gè) Survivor 區(qū) S0 和 S1 都屬于新生代,中間一層屬于老年代,最

    2024年02月04日
    瀏覽(15)
  • java垃圾回收機(jī)制(面試)

    java垃圾回收機(jī)制(面試)

    Java 的自動(dòng)內(nèi)存管理主要是針對(duì)對(duì)象內(nèi)存的回收和對(duì)象內(nèi)存的分配。同時(shí),Java 自動(dòng)內(nèi)存管理最核心的功能是 堆 內(nèi)存中對(duì)象的分配與回收。Java 堆是垃圾收集器管理的主要區(qū)域,因此也被稱作 GC 堆。 Eden 區(qū)、兩個(gè) Survivor 區(qū) S0 和 S1 都屬于新生代,中間一層屬于老年代,最下面

    2023年04月26日
    瀏覽(19)
  • java-垃圾回收與算法

    java-垃圾回收與算法

    1. 引用計(jì)數(shù)法 ??在 Java 中,引用和對(duì)象是有關(guān)聯(lián)的。如果要操作對(duì)象則必須用引用進(jìn)行。因此,很顯然一個(gè)簡(jiǎn)單的辦法是通過(guò)引用計(jì)數(shù)來(lái)判斷一個(gè)對(duì)象是否可以回收。簡(jiǎn)單說(shuō),即一個(gè)對(duì)象如果沒(méi)有任何與之關(guān)聯(lián)的引用,即他們的引用計(jì)數(shù)都不為 0,則說(shuō)明對(duì)象不太可能再被用

    2024年02月12日
    瀏覽(12)
  • 【Java JVM】垃圾回收

    【Java JVM】垃圾回收

    當(dāng)前大部分的垃圾收集器都遵循著 “分代收集” (Generational Collection) 的理論進(jìn)行設(shè)計(jì)的, 建立在 2 個(gè)分代假設(shè)之上 弱分代假說(shuō) (Weak Generational Hypothesis): 絕大多數(shù)對(duì)象都是朝生夕滅的 強(qiáng)分代假說(shuō) (Strong Generational Hypothesis): 熬過(guò)越多次垃圾收集過(guò)程的對(duì)象就越難以消亡 根據(jù)這

    2024年03月14日
    瀏覽(20)
  • 2023-05-26:golang關(guān)于垃圾回收和析構(gòu)函數(shù)的選擇題,多數(shù)人會(huì)選錯(cuò)。

    2023-05-26:golang關(guān)于垃圾回收和析構(gòu)函數(shù)的選擇題,多數(shù)人會(huì)選錯(cuò)。

    2023-05-26:golang關(guān)于垃圾回收和析構(gòu)的選擇題,代碼如下: 代碼的運(yùn)行結(jié)果是什么?并說(shuō)明原因。注意析構(gòu)是無(wú)序的。 A. 結(jié)束 B. a被回收--b被回收--結(jié)束 C. b被回收--a被回收--結(jié)束 D. B和C都有可能 golang的垃圾回收算法跟java一樣,都是根可達(dá)算法。代碼中main0函數(shù)里a和b是互相引

    2024年02月06日
    瀏覽(27)
  • java---垃圾回收算法(GC)

    java---垃圾回收算法(GC)

    目錄 一、如何判斷一個(gè)對(duì)象是否存活 1.引用計(jì)數(shù)法 2.可達(dá)性分析法 二、垃圾回收算法 1.標(biāo)記清除法 2.復(fù)制算法 3.標(biāo)記整理法 4.分代算法 具體流程 注意事項(xiàng) 空間分配擔(dān)保原則 總結(jié) Java 堆中存放著幾乎所有的對(duì)象實(shí)例,垃圾回收器在對(duì)堆進(jìn)行垃圾回收前,首先要判斷這些對(duì)象

    2024年02月05日
    瀏覽(17)
  • Java的垃圾回收機(jī)制詳解

    Java的垃圾回收機(jī)制詳解

    目錄 1、C語(yǔ)言與Java語(yǔ)言垃圾回收區(qū)別 2、System.gc() 3、面試題引入Java垃圾回收 3.1 jvm怎么確定哪些對(duì)象應(yīng)該進(jìn)行回收 3.1.1 引用計(jì)數(shù)法 3.1.2 可達(dá)性分析算法? 3.2 jvm會(huì)在什么時(shí)候進(jìn)行垃圾回收的動(dòng)作 3.2 jvm到底是怎么回收垃圾對(duì)象的 4、垃圾回收算法 4.1?標(biāo)記-清除算法 4. 2 復(fù)制算

    2024年02月09日
    瀏覽(17)
  • 初步認(rèn)識(shí)Java垃圾回收算法

    初步認(rèn)識(shí)Java垃圾回收算法

    GCRoot指被棧上直接或間接引用的對(duì)象,或被本地方法棧直接或間接引用的對(duì)象,或被方法區(qū)引用的對(duì)象。 被引用的對(duì)象是不能被刪除的。 如果對(duì)象跟GCRoot并沒(méi)有直接或間接相連的關(guān)系,那么這些對(duì)象就可以被刪除了。 標(biāo)記-清理 :將需要?jiǎng)h除的對(duì)象標(biāo)記一下,標(biāo)記完了再掃

    2024年02月11日
    瀏覽(28)
  • java中的垃圾回收算法

    java中的垃圾回收算法

    java中有四種垃圾回收算法,分別是: 標(biāo)記清除法、標(biāo)記整理法、復(fù)制算法、分代收集算法 1、標(biāo)記清除法: 第一步:利用可達(dá)性去遍歷內(nèi)存,把存活對(duì)象和垃圾對(duì)象進(jìn)行標(biāo)記; 第二步:在遍歷一遍,將所有標(biāo)記的對(duì)象回收掉; 特點(diǎn):效率不行,標(biāo)記和清除的效率都不高;標(biāo)記和清除

    2024年02月15日
    瀏覽(16)
  • Java垃圾回收機(jī)制深入理解

    Java垃圾回收機(jī)制深入理解

    Java垃圾回收機(jī)制是Java虛擬機(jī)(JVM)的核心組件之一,對(duì)于內(nèi)存管理起到至關(guān)重要的作用。它能自動(dòng)追蹤并管理應(yīng)用程序中創(chuàng)建的對(duì)象,當(dāng)這些對(duì)象不再使用時(shí),垃圾回收機(jī)制會(huì)自動(dòng)回收其占用的內(nèi)存,使這部分內(nèi)存能夠被再次利用。此機(jī)制極大地減少了開(kāi)發(fā)者需要手動(dòng)管理

    2024年02月09日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包