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

JVM常見的垃圾回收器(詳細(xì))

這篇具有很好參考價值的文章主要介紹了JVM常見的垃圾回收器(詳細(xì))。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、Young為年輕代出發(fā)的垃圾回收器。
2、Old為老觸發(fā)的垃圾回收器。
3、連線代表的是垃圾回收器的組合。CMS 和Serial Old連線代表CMS一旦不行了,Serial Old上場。

JVM常見的垃圾回收器(詳細(xì)),jvm

首先了解一個概念:STW

1、什么是STW?
STW是Stop-The-World縮寫: 是在垃圾回收算法執(zhí)?過程當(dāng)中,將JVM內(nèi)存凍結(jié)丶應(yīng)用程序停頓的?種狀態(tài)。

1、在STW 狀態(tài)下,JAVA的所有線程都是停?執(zhí)?的 -> GC線程除外
2、一旦Stop-the-world發(fā)生,除了GC所需的線程外,其他線程都將停止工作,中斷了的線程直到GC任務(wù)結(jié)束才繼續(xù)它們的任務(wù)。
3、STW是不可避免的,垃圾回收算法執(zhí)?一定會出現(xiàn)STW,我們要做的只是減少停頓的時間
GC各種算法優(yōu)化的重點,就是減少STW(暫停),同時這也是JVM調(diào)優(yōu)的重點。

2、什么時候進(jìn)入STW狀態(tài)?
可達(dá)性分析算法中枚舉根節(jié)點(GC Roots)會導(dǎo)致所有Java執(zhí)行線程停頓,進(jìn)入STW狀態(tài)

3、為什么一定要STW停頓的原因?
1、分析工作必須在一個能確保一致性的快照中進(jìn)行
2、一致性指整個分析期間整個執(zhí)行系統(tǒng)看起來像被凍結(jié)在某個時間點上
3、如果出現(xiàn)分析過程中對象引用關(guān)系還在不斷變化,則分析結(jié)果的準(zhǔn)確性無法保證
4、被STW中斷的應(yīng)用程序線程會在完成GC之后恢復(fù),頻繁的中斷會讓用戶感覺卡頓
5、所以我們要減少STW的發(fā)生,也就相當(dāng)于要想辦法降低GC垃圾回收的頻率
6、STW狀態(tài)和采用哪款GC收集器無關(guān),所有的GC收集器都有這個狀態(tài),因為要保證一致性。
7、但是好的GC收集器可以減少停頓的時間、減少STW(暫停)和降低GC垃圾回收的頻率是調(diào)優(yōu)的重點

如果系統(tǒng)卡頓很明顯,大概率就是頻繁執(zhí)行GC垃圾回收,頻繁進(jìn)入STW狀態(tài)產(chǎn)生停頓的緣故

記住,目前所有垃圾收集器都會進(jìn)入STW機(jī)制

一、Serial收集器(單線程收集器,新時代,采用復(fù)制算法)

這個收集器是一個單線程的收集器,但它的“單線程”的意義并不僅僅說明它只會使用一個CPU或一條收集線程去完成垃圾收集工作,會進(jìn)行SWT,停掉除了GC線程之外的所有的工作線程,直到它收集結(jié)束,才繼續(xù)執(zhí)行其它的工作線程。

例:當(dāng)一個小孩在房間玩,亂丟垃圾,這時他媽媽進(jìn)來收拾垃圾了,會把小孩抱到一邊,不讓他玩先,等收拾好垃圾,在讓他玩。

JVM常見的垃圾回收器(詳細(xì)),jvm

二、Serial Old收集器(單線程收集器,老年代,采用標(biāo)記整理算法)

Serial Old是Serial收集器的老年代版本,它同樣是一個單線程收集器。會進(jìn)行SWT,停掉除了GC線程之外的所有的工作線程,直到它收集結(jié)束,才繼續(xù)執(zhí)行其它的工作線程。
JVM常見的垃圾回收器(詳細(xì)),jvm

三、Parallel Scavenge收集器(多線程收集器,新生代、采用復(fù)制算法)

Parallel Scavenge 收集器也是一款新生代收集器,它同樣是基于標(biāo)記 -復(fù)制算法實現(xiàn)的收集器,是 能夠并行收集的多線程收集器。

Parallel Scavenge收集器的特點是它的關(guān)注點與其他收集器不同。Parallel Scavenge收集器的目標(biāo)則是達(dá)到一個可控制的吞吐量(Throughput)。所謂吞吐量就是處理器用于運行用戶代碼的時間與處理器總消耗時間的比值,即:
JVM常見的垃圾回收器(詳細(xì)),jvm
舉例說明:
如果虛擬機(jī)完成某個任務(wù),用戶代碼加上垃圾收集總共耗費了 100 分鐘,其中垃圾收集花掉 1 分
鐘,那吞吐量就是 99% 。
Parallel Scavenge收集器也經(jīng)常被稱作“吞吐量優(yōu)先收集器”。

如果在上線之前沒有做任何JVM調(diào)優(yōu)或設(shè)置話,默認(rèn)的就是Parallel Scavenge + Paraller Old組合垃圾回收器,簡稱PS + PO

JVM常見的垃圾回收器(詳細(xì)),jvm

四、Paraller Old收集器(多線程收集器,老年代,采用標(biāo)記整理算法)

Parallel Old是Parallel Scavenge收集器的老年代版本
JVM常見的垃圾回收器(詳細(xì)),jvm

五、ParNew收集器(多線程收集器,新時代,采用標(biāo)記-整理算法)

ParNew說白了和Parallel Scavenge一樣的,區(qū)別組了做了增強,以便能讓它和CMS配合使用。

JVM常見的垃圾回收器(詳細(xì)),jvm

六、CMS收集器(多線程收集器,老年代,采用標(biāo)記—清除算法)

CMS(Concurrent Mark Sweep)收集器是一種以獲取最短回收停頓時間為目標(biāo)的收集器

從名字(包含“Mark Sweep”)上就可以看出,CMS收集器是基于“標(biāo)記—清除”算法實現(xiàn)的,它的運作過程相對于前面幾種收集器來說更復(fù)雜一些,整個過程分為4個步驟,包括:

初始標(biāo)記(CMS initial mark)
并發(fā)標(biāo)記(CMS concurrent mark)
重新標(biāo)記(CMS remark)
并發(fā)清除(CMS concurrent sweep)

JVM常見的垃圾回收器(詳細(xì)),jvm
JVM常見的垃圾回收器(詳細(xì)),jvm

1、初始標(biāo)記(觸發(fā)STW):初始標(biāo)記僅僅只是標(biāo)記一下GC Roots能直接關(guān)聯(lián)到的對象,速度很快。

2、并發(fā)標(biāo)記(不觸發(fā)STW):并發(fā)標(biāo)記階段就是從GC Roots的直接關(guān)聯(lián)對象開始遍歷整個對象圖的過程, 這個過程耗時較長但是不需要停頓用戶線程, 可以與垃圾收集線程一起并發(fā)運行。因為用戶程序繼續(xù)運行,可能會有導(dǎo)致已經(jīng)標(biāo)記過的對象狀態(tài)發(fā)生改變。所以要進(jìn)行一次重新標(biāo)記。

3、重新標(biāo)記(觸發(fā)STW):重新標(biāo)記階段就是為了修正并發(fā)標(biāo)記期間因為用戶程序繼續(xù)運行而導(dǎo)致標(biāo)記產(chǎn)生變動的那一部分對象的標(biāo)記記錄,就是并發(fā)標(biāo)記過程中產(chǎn)生的新垃圾,進(jìn)行標(biāo)記,或者到重新標(biāo)記這一階段,又要用到并發(fā)標(biāo)記已經(jīng)標(biāo)記的垃圾,取消垃圾標(biāo)記。 這個階段的停頓時間一般會比初始標(biāo)記階段的時間稍長,遠(yuǎn)遠(yuǎn)比并發(fā)標(biāo)記階段時間短。

4、并發(fā)清理(不觸發(fā)STW) :開啟用戶線程,同時GC線程開始對未標(biāo)記的區(qū)域做清掃。這個階段如果有新增對象會被標(biāo)記為黑色不做任何處理,等下次重新觸發(fā)在進(jìn)行處理。

CMS問題:
JVM常見的垃圾回收器(詳細(xì)),jvm

七、G1(多線程收集器,標(biāo)記-整理)

JVM常見的垃圾回收器(詳細(xì)),jvm

1、G1 垃圾收集器的內(nèi)存模型

G1 收集器不采用傳統(tǒng)的新生代和老年代物理隔離的布局方式,僅在邏輯上劃分新生代和老年代,將整個堆內(nèi)存劃分為2048個大小相等的獨立內(nèi)存塊Region,每個Region是邏輯連續(xù)的一段內(nèi)存,具體大小根據(jù)堆的實際大小而定,整體被控制在 1M - 32M 之間,且為2的N次冪(1M、2M、4M、8M、16M和32M),并使用不同的Region來表示新生代和老年代,G1不再要求相同類型的 Region 在物理內(nèi)存上相鄰,而是通過Region的動態(tài)分配方式實現(xiàn)邏輯上的連續(xù)。

G1收集器通過跟蹤Region中的垃圾堆積情況,每次根據(jù)設(shè)置的垃圾回收時間,回收優(yōu)先級最高的區(qū)域,避免整個新生代或整個老年代的垃圾回收,使得stop the world的時間更短、更可控,同時在有限的時間內(nèi)可以獲得最高的回收效率。

通過區(qū)域劃分和優(yōu)先級區(qū)域回收機(jī)制,確保G1收集器可以在有限時間獲得最高的垃圾收集效率。

2、分區(qū)Region:
G1 垃圾收集器將堆內(nèi)存劃分為若干個 Region,每個 Region 分區(qū)只能是一種角色,Eden區(qū)、S區(qū)、老年代區(qū)的其中一個,空白區(qū)域代表的是未分配的內(nèi)存,最后還有個特殊的區(qū)域H(Humongous),專門用于存放巨型對象,如果一個對象的大小超過Region容量的50%以上,G1 就認(rèn)為這是個巨型對象。在其他垃圾收集器中,這些巨型對象默認(rèn)會被分配在老年代,但如果它是一個短期存活的巨型對象,放入老年代就會對垃圾收集器造成負(fù)面影響,觸發(fā)老年代頻繁GC。

為了解決這個問題,G1劃分了一個H區(qū)專門存放巨型對象,如果一個H區(qū)裝不下巨型對象,那么G1會尋找連續(xù)的H分區(qū)來存儲,如果尋找不到連續(xù)的H區(qū)的話,就不得不啟動 Full GC 了。
JVM常見的垃圾回收器(詳細(xì)),jvm
3、card table

卡表是 CMS 的解決方案。

官方解釋:A kind of remembered set that records where oops have changed in a generation.

問題: 新生代回收為什么可以不全表掃描標(biāo)記?
答案: 只標(biāo)記在新生代區(qū)的根引用+ cardTable上的標(biāo)記。
作用:采用空間換時間,不需要掃描整個Heap空間,降低MonitorGC耗時。

JVM常見的垃圾回收器(詳細(xì)),jvm
4、Remember Set:

JVM常見的垃圾回收器(詳細(xì)),jvm

在串行和并行收集器中,GC時是通過整堆掃描來確定對象是否處于可達(dá)路徑中。然而G1為了避免STW式的整堆掃描,為每個分區(qū)各自分配了一個 RSet(Remembered Set),它內(nèi)部類似于一個反向指針,記錄了其它 Region 對當(dāng)前 Region 的引用情況,這樣就帶來一個極大的好處:回收某個Region時,不需要執(zhí)行全堆掃描,只需掃描它的 RSet 就可以找到外部引用,來確定引用本分區(qū)內(nèi)的對象是否存活,進(jìn)而確定本分區(qū)內(nèi)的對象存活情況,而這些引用就是 initial mark 的根之一。

事實上,并非所有的引用都需要記錄在RSet中,如果引用源是本分區(qū)的對象,那么就不需要記錄在 RSet 中;同時 G1 每次 GC 時,所有的新生代都會被掃描,因此引用源是年輕代的對象,也不需要在RSet中記錄;所以最終只需要記錄老年代到新生代之間的引用即可。

5、Mixed GC:

JVM常見的垃圾回收器(詳細(xì)),jvm

年輕代不斷進(jìn)行垃圾回收活動后,為了避免老年代的空間被耗盡。當(dāng)占用空間超過整堆比 IHOP 閾值 -XX:InitiatingHeapOccupancyPercent(默認(rèn)45%)時,G1就會啟動一次混合垃圾回收Mixed GC,Mixed GC不僅進(jìn)行正常的新生代垃圾收集,同時也回收部分后臺掃描線程標(biāo)記的老年代分區(qū)。Mixed GC步驟主要分為兩步:

這里需要特別注意的是 Mixed GC 并不是 Full GC,只有當(dāng) Mixed GC 來不及回收old region,也就說在需要分配老年代的對象時,但發(fā)現(xiàn)沒有足夠的空間,這個時候就會觸發(fā)一次 Full GC

JVM常見的垃圾回收器(詳細(xì)),jvm
6、并發(fā)標(biāo)記算法

三色標(biāo)記算法:
三色標(biāo)記算法是并發(fā)收集階段的重要算法,它是描述追蹤式回收器的一種有用的方法,利用它可以推演回收器的正確性。 首先,我們將對象分成三種類型的。
JVM常見的垃圾回收器(詳細(xì)),jvm
三色標(biāo)記算法的正常流程:
(1)根對象被置為黑色,子對象被置為灰色:
JVM常見的垃圾回收器(詳細(xì)),jvm
(2)繼續(xù)由灰色遍歷,將已掃描了子對象的對象置為黑色。
JVM常見的垃圾回收器(詳細(xì)),jvm

(3)遍歷了所有可達(dá)的對象后,所有可達(dá)的對象都變成了黑色。不可達(dá)的對象即為白色,需要被清理。
JVM常見的垃圾回收器(詳細(xì)),jvm

漏標(biāo):
在并發(fā)標(biāo)記過程中,黑色對象指向了白色對象,以此同時灰色對象取消了對白色對象的引用,就會造成漏標(biāo),因為A是黑色對象,不需要在掃描了,B又取消了對D的引用,從而產(chǎn)生漏標(biāo)
JVM常見的垃圾回收器(詳細(xì)),jvm
JVM常見的垃圾回收器(詳細(xì)),jvm
JVM常見的垃圾回收器(詳細(xì)),jvm

JVM常見的垃圾回收器(詳細(xì)),jvm文章來源地址http://www.zghlxwxcb.cn/news/detail-719042.html

八、GC常用的參數(shù)

GC常用參數(shù)

  • -Xmn -Xms -Xmx -Xss
    年輕代 最小堆 最大堆 棧空間
  • -XX:+UseTLAB
    使用TLAB,默認(rèn)打開
  • -XX:+PrintTLAB
    打印TLAB的使用情況
  • -XX:TLABSize
    設(shè)置TLAB大小
  • -XX:+DisableExplictGC
    System.gc()不管用 ,F(xiàn)GC
  • -XX:+PrintGC
  • -XX:+PrintGCDetails
  • -XX:+PrintHeapAtGC
  • -XX:+PrintGCTimeStamps
  • -XX:+PrintGCApplicationConcurrentTime (低)
    打印應(yīng)用程序時間
  • -XX:+PrintGCApplicationStoppedTime (低)
    打印暫停時長
  • -XX:+PrintReferenceGC (重要性低)
    記錄回收了多少種不同引用類型的引用
  • -verbose:class
    類加載詳細(xì)過程
  • -XX:+PrintVMOptions
  • -XX:+PrintFlagsFinal -XX:+PrintFlagsInitial
    必須會用
  • -Xloggc:opt/log/gc.log
  • -XX:MaxTenuringThreshold
    升代年齡,最大值15
  • 鎖自旋次數(shù) -XX:PreBlockSpin 熱點代碼檢測參數(shù)-XX:CompileThreshold 逃逸分析 標(biāo)量替換 …
    這些不建議設(shè)置

Parallel常用參數(shù)

  • -XX:SurvivorRatio
  • -XX:PreTenureSizeThreshold
    大對象到底多大
  • -XX:MaxTenuringThreshold
  • -XX:+ParallelGCThreads
    并行收集器的線程數(shù),同樣適用于CMS,一般設(shè)為和CPU核數(shù)相同
  • -XX:+UseAdaptiveSizePolicy
    自動選擇各區(qū)大小比例

CMS常用參數(shù)

  • -XX:+UseConcMarkSweepGC
  • -XX:ParallelCMSThreads
    CMS線程數(shù)量
  • -XX:CMSInitiatingOccupancyFraction
    使用多少比例的老年代后開始CMS收集,默認(rèn)是68%(近似值),如果頻繁發(fā)生SerialOld卡頓,應(yīng)該調(diào)小,(頻繁CMS回收)
  • -XX:+UseCMSCompactAtFullCollection
    在FGC時進(jìn)行壓縮
  • -XX:CMSFullGCsBeforeCompaction
    多少次FGC之后進(jìn)行壓縮
  • -XX:+CMSClassUnloadingEnabled
  • -XX:CMSInitiatingPermOccupancyFraction
    達(dá)到什么比例時進(jìn)行Perm回收
  • GCTimeRatio
    設(shè)置GC時間占用程序運行時間的百分比
  • -XX:MaxGCPauseMillis
    停頓時間,是一個建議時間,GC會嘗試用各種手段達(dá)到這個時間,比如減小年輕代

G1常用參數(shù)

  • -XX:+UseG1GC
  • -XX:MaxGCPauseMillis
    建議值,G1會嘗試調(diào)整Young區(qū)的塊數(shù)來達(dá)到這個值
  • -XX:GCPauseIntervalMillis
    ?GC的間隔時間
  • -XX:+G1HeapRegionSize
    分區(qū)大小,建議逐漸增大該值,1 2 4 8 16 32。
    隨著size增加,垃圾的存活時間更長,GC間隔更長,但每次GC的時間也會更長
    ZGC做了改進(jìn)(動態(tài)區(qū)塊大小)
  • G1NewSizePercent
    新生代最小比例,默認(rèn)為5%
  • G1MaxNewSizePercent
    新生代最大比例,默認(rèn)為60%
  • GCTimeRatio
    GC時間建議比例,G1會根據(jù)這個值調(diào)整堆空間
  • ConcGCThreads
    線程數(shù)量
  • InitiatingHeapOccupancyPercent
    啟動G1的堆空間占用比例

到了這里,關(guān)于JVM常見的垃圾回收器(詳細(xì))的文章就介紹完了。如果您還想了解更多內(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基礎(chǔ)(6)——JVM垃圾回收器簡介

    JVM基礎(chǔ)(6)——JVM垃圾回收器簡介

    作者簡介:大家好,我是smart哥,前中興通訊、美團(tuán)架構(gòu)師,現(xiàn)某互聯(lián)網(wǎng)公司CTO 聯(lián)系qq:184480602,加我進(jìn)群,大家一起學(xué)習(xí),一起進(jìn)步,一起對抗互聯(lián)網(wǎng)寒冬 學(xué)習(xí)必須往深處挖,挖的越深,基礎(chǔ)越扎實! 階段1、深入多線程 階段2、深入多線程設(shè)計模式 階段3、深入juc源碼解析

    2024年01月23日
    瀏覽(26)
  • JVM垃圾回收器G1詳解

    JVM垃圾回收器G1詳解

    在我們應(yīng)用程序所應(yīng)對的業(yè)務(wù)越來越龐大、復(fù)雜,用戶越來越多,沒有GC就不能保證應(yīng)用程序正常進(jìn)行,而經(jīng)常造成STW的GC又跟不上實際的需求,我們需要不斷地嘗試對GC進(jìn)行優(yōu)化。G1(Garbage-First)垃圾回收器是在Java7 update4之后引入的一個新的垃圾回收器,是當(dāng)今收集器技術(shù)發(fā)

    2024年02月09日
    瀏覽(20)
  • Java虛擬機(jī)(JVM)、垃圾回收器

    Java虛擬機(jī)(JVM)、垃圾回收器

    JRE(Java Runtime Environment,運行環(huán)境) 所有的程序都要在JRE下才能夠運行。包括JVM和Java核心類庫和支持文件。 JDK(Java Development Kit,開發(fā)工具包) 用來編譯、調(diào)試Java程序的開發(fā)工具包。包括Java工具(javac/java/jdb等)和Java基礎(chǔ)的類庫(java API )。 JVM(Java Virtual Machine,虛擬機(jī)) JRE的一部分,

    2024年02月12日
    瀏覽(21)
  • JVM基礎(chǔ)(8)——CMS垃圾回收器

    JVM基礎(chǔ)(8)——CMS垃圾回收器

    作者簡介:大家好,我是smart哥,前中興通訊、美團(tuán)架構(gòu)師,現(xiàn)某互聯(lián)網(wǎng)公司CTO 聯(lián)系qq:184480602,加我進(jìn)群,大家一起學(xué)習(xí),一起進(jìn)步,一起對抗互聯(lián)網(wǎng)寒冬 學(xué)習(xí)必須往深處挖,挖的越深,基礎(chǔ)越扎實! 階段1、深入多線程 階段2、深入多線程設(shè)計模式 階段3、深入juc源碼解析

    2024年01月16日
    瀏覽(17)
  • 說一下 JVM 有哪些垃圾回收器?

    說一下 JVM 有哪些垃圾回收器?

    如果說垃圾收集算法是內(nèi)存回收的方法論,那么垃圾收集器就是內(nèi)存回收的具體實現(xiàn)。下圖展示了7種作用于不同分代的收集器,其中用于回收新生代的收集器包括Serial、ParNew、Parallel Scavenge,回收老年代的收集器包括SerialOld、Parallel Old、CMS,還有用于回收整個Java堆的G1收集器

    2024年02月22日
    瀏覽(20)
  • JVM — JDK11垃圾回收器 ZGC

    JVM — JDK11垃圾回收器 ZGC

    1. ZGC介紹 ZGC(The Z Garbage Collector)是 JDK 11 中推出的一款低延遲垃圾回收器,為實現(xiàn)以下幾個目標(biāo)而誕生的垃圾回收器,停頓時間不超過 10ms,停頓時間不會因堆變大而變長,支持 8MB~4TB 級別的堆(未來支持 16TB) 2. ZGC內(nèi)存和原理 2.1 ZGC內(nèi)存分布 ZGC 與傳統(tǒng)的 CMS、G1 不同、它沒

    2024年02月13日
    瀏覽(21)
  • JVM的組件、自動垃圾回收的工作原理、分代垃圾回收過程、可用的垃圾回收器類型

    JVM的組件、自動垃圾回收的工作原理、分代垃圾回收過程、可用的垃圾回收器類型

    https://www.processon.com/diagraming/64c8aa11c07d99075d934311 https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html 年輕代是所有新對象被分配和老化的地方。當(dāng)年輕代填滿時,這會導(dǎo)致minor garbage collection,minor gc會回收掉很多的游離對象。游離的年輕代很快就被收集起來。一些幸存的

    2024年02月14日
    瀏覽(65)
  • java八股文面試[JVM]——垃圾回收器

    java八股文面試[JVM]——垃圾回收器

    jvm結(jié)構(gòu)總結(jié) ? 常見的垃圾回收器有哪些? ? ? CMS(Concurrent Mark Sweep) 整堆收集器 : G1 由于整個過程中 耗時最長 的 并發(fā)標(biāo)記 和 并發(fā)清除 過程中,收集器線程都可以與用戶線程一起工作,所以 總體上來說 ,CMS收集器的內(nèi)存回收過程是與用戶線程一起并發(fā)地執(zhí)行。老年代收

    2024年02月11日
    瀏覽(29)
  • 【jvm系列-10】深入理解jvm垃圾回收器的種類以及內(nèi)部的執(zhí)行原理

    【jvm系列-10】深入理解jvm垃圾回收器的種類以及內(nèi)部的執(zhí)行原理

    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

    2024年02月05日
    瀏覽(31)
  • JVM | 垃圾回收器(GC)- Java內(nèi)存管理的守護(hù)者

    JVM | 垃圾回收器(GC)- Java內(nèi)存管理的守護(hù)者

    在編程世界中, 有效的內(nèi)存管理 是至關(guān)重要的。這不僅確保了應(yīng)用程序的穩(wěn)定運行,還可以大大提高性能和響應(yīng)速度。作為世界上最受歡迎的編程語言之一,通過Java虛擬機(jī)內(nèi)部的垃圾回收器組件來自動管理內(nèi)存,是成為之一的其中一項必不可少的技術(shù)點。 在許多傳統(tǒng)的編程

    2024年02月09日
    瀏覽(29)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包