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

JVM---理解jvm之對象已死怎么判斷?

這篇具有很好參考價值的文章主要介紹了JVM---理解jvm之對象已死怎么判斷?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

引用計數(shù)算法

什么是引用

可達(dá)性分析算法(用的最多的)


引用計數(shù)算法

定義:在對象中添加一個引用計數(shù)器,每當(dāng)有一個地方引用它時,計數(shù)器值就加一;當(dāng)引用失效時,計數(shù)器值就減一;任何時刻計數(shù)器為零的對象就是不可能再被使用的。

但是不能解決循環(huán)引用的問題,A引用B,B引用A,這個對象的引用計數(shù)就不可能為0.這兩個對象不會被別的任何對象引用,卻不會被回收

什么是引用

?對象引用的四個等級:

為什么說要有這個設(shè)置:為了滿足當(dāng)內(nèi)存空間還足夠時,能保留在內(nèi)存之中,如果內(nèi)存空間在進(jìn)行垃圾收集后仍然非常緊張,那就可以拋棄這些對象。

  1. 強(qiáng)引用:new Object(),只有當(dāng)判斷對象已經(jīng)死的時候,才回收
  2. 軟引用:在系統(tǒng)要發(fā)生oom,會回收所有的軟引用對象,如果回收完,還是放不上這個對象,才溢出。,每次垃圾回收的時候,如果對象還沒死,就不回收,但是在oom之前,不管有沒有死,都會被回收。系統(tǒng)要發(fā)生oom,會回收所有的軟引用對象,如果回收完,還是放不上這個對象,才溢出。
  3. 弱引用:在每次垃圾回收的時候,不管有沒有引用,都會被回收。
  4. 虛引用:相當(dāng)于什么時候回收都沒問題,也無法通過虛引用來取得一個對象實例。為一個對象設(shè)置虛引用關(guān)聯(lián)的唯一目的只是為了能在這個對象被收集器回收時收到一個系統(tǒng)通知

可達(dá)性分析算法(用的最多的)

當(dāng)這個對象,與GCROOT對象沒有關(guān)聯(lián)的時候,就認(rèn)為這個對象已經(jīng)死亡了。GCROOT包括四類:兩個棧兩個方法區(qū)。(比如User對象在棧中有關(guān)聯(lián),或者說這個對象在方法區(qū)中有static用著他)

JVM---理解jvm之對象已死怎么判斷?,jvm,jvm,java,算法文章來源地址http://www.zghlxwxcb.cn/news/detail-657719.html

到了這里,關(guān)于JVM---理解jvm之對象已死怎么判斷?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【JVM】Java堆 :深入理解內(nèi)存中的對象世界

    【JVM】Java堆 :深入理解內(nèi)存中的對象世界

    人不走空 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? 目錄 ? ????????個人主頁:人不走空?????? ??系列專欄:算法專題 ?詩詞歌賦:斯是陋室,惟吾德馨 ?編輯 什么是Java堆? 作用和特點 1. 存儲對象實例 2. 垃圾收集 3. 對象

    2024年01月19日
    瀏覽(31)
  • 深入理解JVM:Java使用new創(chuàng)建對象的流程

    ????????①new 對象 ????????②反射 ????????③對象的復(fù)制 ????????④反序列化 先看看常量池里面有沒有,如果有,就用常量池的 看這個類有沒有被加載過,如果沒有,就執(zhí)行類加載以及類的初始化。(對象的大小,在類加載的時候就確定了)。 對象在堆內(nèi)存

    2024年02月15日
    瀏覽(30)
  • 【Java】圖解 JVM 垃圾回收(一):GC 判斷策略、引用類型、垃圾回收算法

    【Java】圖解 JVM 垃圾回收(一):GC 判斷策略、引用類型、垃圾回收算法

    垃圾 是指運行程序中 沒有任何引用指向的對象 ,需要被回收。 內(nèi)存溢出 :經(jīng)過垃圾回收之后,內(nèi)存仍舊無法存儲新創(chuàng)建的對象,內(nèi)存不夠溢出。 內(nèi)存泄漏 :又叫 “ 存儲泄漏 ”,對象不會再被程序使用了,但是 GC 又不能回收它們。例如:IO 流不適用了但是沒有被 Close、

    2024年02月19日
    瀏覽(26)
  • JVM 垃圾回收詳解之內(nèi)存分配和回收原則+死亡對象判斷方法

    JVM 垃圾回收詳解之內(nèi)存分配和回收原則+死亡對象判斷方法

    當(dāng)需要排查各種內(nèi)存溢出問題、當(dāng)垃圾收集成為系統(tǒng)達(dá)到更高并發(fā)的瓶頸時,我們就需要對這些“自動化”的技術(shù)實施必要的監(jiān)控和調(diào)節(jié)。 Java 的自動內(nèi)存管理主要是針對對象內(nèi)存的回收和對象內(nèi)存的分配。同時,Java 自動內(nèi)存管理最核心的功能是 堆 內(nèi)存中對象的分配與回收

    2023年04月19日
    瀏覽(40)
  • JVM 內(nèi)存分哪幾個區(qū),如和判斷一個對象是否存活

    JVM 內(nèi)存分哪幾個區(qū),每個區(qū)的作用是什么 ? java 虛擬機(jī)主要分為以下一個區(qū) : 方法區(qū): 1. 有時候也成為 永久代 ,在該區(qū)內(nèi)很少發(fā)生垃圾回收,但是并不代表不發(fā)生 ?GC ,在這里進(jìn)行的 ?GC 主要是對方法區(qū)里的常量池和對類型的卸載 2. 方法區(qū)主要用來存儲已被虛擬機(jī)加載的類

    2024年02月05日
    瀏覽(24)
  • Jvm對象回收算法-JVM(九)

    Jvm對象回收算法-JVM(九)

    上篇文章介紹了jvm運行時候?qū)ο筮M(jìn)入老年代的場景,以及如何避免頻繁fullGC。 Jvm參數(shù)設(shè)置-JVM(八) 老年代分配擔(dān)保機(jī)制 這個機(jī)制的目的是為了提升效率,在minorGC之前,會有三次判斷,之后再次minorGC速度會很快。 老年代剩余空間是否 大于 年輕代里現(xiàn)在所有對象 大于的話則

    2024年02月13日
    瀏覽(22)
  • Java進(jìn)階(4)——結(jié)合類加載JVM的過程理解創(chuàng)建對象的幾種方式:new,反射Class,克隆clone(拷貝),序列化反序列化

    Java進(jìn)階(4)——結(jié)合類加載JVM的過程理解創(chuàng)建對象的幾種方式:new,反射Class,克隆clone(拷貝),序列化反序列化

    1.類什么時候被加載到JVM中,new,Class.forName: Class.forName(“包名.類名”); 2.創(chuàng)建對象的方式,反射,本質(zhì)是獲得類的類對象Class; 3.克隆clone,深拷貝,淺拷貝的對比; 4.序列化和反序列化的方式; Hello h; // 此時沒有用Hello,jvm并沒有進(jìn)行類加載 看到new : new Book() Class.forName:

    2024年02月12日
    瀏覽(30)
  • 【jvm系列-06】深入理解對象的實例化、內(nèi)存布局和訪問定位

    【jvm系列-06】深入理解對象的實例化、內(nèi)存布局和訪問定位

    JVM系列整體欄目 內(nèi)容 鏈接地址 【一】初識虛擬機(jī)與java虛擬機(jī) https://blog.csdn.net/zhenghuishengq/article/details/129544460 【二】jvm的類加載子系統(tǒng)以及jclasslib的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/129610963 【三】運行時私有區(qū)域之虛擬機(jī)棧、程序計數(shù)器、本地方法棧 https

    2023年04月16日
    瀏覽(34)
  • JVM 是怎么設(shè)計來保證new對象的線程安全
  • JVM源碼剖析之Java對象創(chuàng)建過程

    JVM源碼剖析之Java對象創(chuàng)建過程

    關(guān)于 \\\"Java的對象創(chuàng)建\\\" 這個話題分布在各種論壇、各種帖子,文章的水平參差不齊。并且大部分僅僅是總結(jié) \\\"面試寶典\\\" 的流程,小部分就是copy其他帖子,極少能看到拿源碼作為論證。所以特意寫下這篇文章。 版本信息如下: 首先把總結(jié)圖放在這。接下來分析源碼~? 用一個

    2024年02月12日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包