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

【JVM】| 垃圾回收機制 | 文末送書

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

一. ?? 前言

Java的垃圾回收機制是自動的,不需要程序員手動進行內(nèi)存管理。當Java應用程序創(chuàng)建對象時,它們存儲在堆內(nèi)存中。當對象不再被引用時,垃圾回收器會自動標記這些對象為垃圾,并將它們從堆內(nèi)存中清除,釋放空間。

二. ?? 如何判斷一個對象是垃圾

Ⅰ. 引用計數(shù)法

如果要操作對象,必須通過引用來進行。如果一個對象沒有任何引用與之關(guān)聯(lián),則說明該對象基本不太可能在其他地方被使用到。那么這個對象就成為可被回收的對象了。這種方式實現(xiàn)簡單,效率較高,但是它無法解決循環(huán)引用的問題,因此在 Java 中并沒有采用這種方式(Python 采用的是引用計數(shù)法)

Ⅱ. 可達性分析

以一個 GC Root 對象作為起點進行搜索,如果在 GC Roots 和對象之間沒有可達路徑,則稱該對象是不可達的。

Ⅲ. GC ROOT 對象

  • 棧幀中的本地變量表中引用的對象。
  • 方法區(qū)中靜態(tài)屬性引用的對象。
  • 方法區(qū)中常量引用的對象。
  • 本地方法棧中引用的對象。

三. ?? 垃圾回收算法

Ⅰ. 標記——清除算法

效率較低,有空間碎片。Old 區(qū)使用的算法

【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

Ⅱ. 復制算法

空間碎片少,但會浪費空間。存活對象較少才會使用的算法。young區(qū)使用的算法

【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

Ⅲ. 標記——整理算法:

空間碎片少,效率較低。Old 區(qū)使用的算法

【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

四. ?? 垃圾收集器的評判標準

垃圾收集器是對垃圾回收算法的實現(xiàn),JVM 中提供了很多垃圾收集器,我們?nèi)绾卧u判一個垃圾收集器的好壞呢?

  • 垃圾收集器的執(zhí)行效率 = 吞吐量 / 停頓時間
  • 吞吐量 = 用戶代碼執(zhí)行時間/(用戶代碼執(zhí)行時間+停頓時間)

五. ?? 垃圾收集器的類型

Ⅰ. 串行收集器

只有一個垃圾回收線程,在垃圾回收時暫停用戶代碼線程,如 Serial 和 Serial Old收集器。
【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

Ⅱ. 并行收集器

吞吐量優(yōu)先,多個垃圾收集器線程共同工作, 盡快完成垃圾收集。如 ParNew,Parallel Scanvenge, Parallel Old 收集器。
【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

Ⅲ. 并發(fā)收集器

停頓時間優(yōu)先,用戶線程和垃圾回收線程一同工作,用戶代碼線程也會完全停止一小段時間,如 CMS,G1 收集器
【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

六. ?? CMS 收集器

CMS(concurrent mark sweep,并發(fā)標記掃描)收集器是并發(fā)收集器,是基于標記 ——清理的算法進行垃圾回收,用于 OldGC。

  • 優(yōu)點:并發(fā)收集、低停頓
  • 缺點:會產(chǎn)生大量空間碎片,停頓時間雖然短但是不可控。

問:CMS 收集器為什么不進行并發(fā)的初始標記?
因為初始標記速度很快,不值得多開線程,開線程也是需要耗費資源的。

七. ?? G1 收集器

  • G1(garbage first,垃圾優(yōu)先)收集器是并發(fā)收集器,從 JDK1.7 開始支持,能進行OldGC 和 YoungGC。Old 區(qū)采用標記整理算法,Young 區(qū)采用復制算法。
  • G1 收集器沒有固定的 Old、Young、Eden、Survivor 區(qū),而是將內(nèi)存分為一個個大小相等的 Region(格子,1Mb~32Mb)。每次垃圾回收后,Region 的用途可以發(fā)生改變,提高了內(nèi)存的靈活性和利用率。
【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

G1 收集器可以根據(jù)開發(fā)者設置的參數(shù),停頓時間的期望值,優(yōu)先篩選回收存活的對象比較少,垃圾對象比較大的區(qū)域 Region,可以把更多空余的空間釋放出來。
【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言

八. ?? 如何選擇垃圾收集器?

  • 優(yōu)先讓服務器自己來選擇
  • 如果內(nèi)存小于 100M,使用串行收集器
  • 如果服務器是單核,并且沒有停頓時間要求,使用串行收集器
  • 如果允許停頓時間超過 1 秒,選擇并行收集器
  • 如果停頓時間不能超過 1 秒,使用并發(fā)收集器

九. ?? Happy Ending

【JVM】| 垃圾回收機制 | 文末送書,基礎知識查漏,jvm,java,開發(fā)語言


?? 送書抽獎活動 ??

《深入淺出Java虛擬機:JVM原理與實戰(zhàn)》
Java虛擬機核心技術(shù)一本通:通過實戰(zhàn)案例+執(zhí)行效果圖+核心代碼,剖析探索JVM核心底層原理,強化推動JVM優(yōu)化落地,手把手教你吃透Java虛擬機深層原理!
  • 系統(tǒng):全書內(nèi)容層層遞進,深入淺出,手把手教你吃透JVM虛擬機核心技術(shù)
  • 深入:剖析探索JVM核心底層原理,強化推動JVM優(yōu)化落地
  • 實戰(zhàn):原理與實踐相結(jié)合,懂理論,能落地,實戰(zhàn)化案例精準定位技術(shù)細節(jié)
  • 資源:附贈全書案例源代碼,知其然更知其所以然,快速上手不用愁

本書主要以 Java 虛擬機的基本特性及運行原理為中心,深入淺出地分析 JVM 的組成結(jié)構(gòu)和底層實現(xiàn),介紹了很多性能調(diào)優(yōu)的方案和工具的使用方法。最后還擴展介紹了 JMM 內(nèi)存模型的實現(xiàn)原理和 Java 編譯器的優(yōu)化機制,讓讀者不僅可以學習 JVM 的核心技術(shù)知識,還能夯實 JVM 調(diào)優(yōu)及代碼優(yōu)化的技術(shù)功底。
本書適合已具有一定 Java 編程基礎的開發(fā)人員、項目經(jīng)理、架構(gòu)師及性能調(diào)優(yōu)工程師參考閱讀,同時,本書還可以作為廣大職業(yè)院校、計算機培訓班相關(guān)專業(yè)的教學參考用書。

本次活動贈書2本,評論區(qū)抽取2位小伙伴送書

活動時間: 截止到2023-07-15 20: 00
參與方式: 點贊、收藏本文章,并任意評論(不折疊就行)
抽獎時間: 2023.07.15
公布時間: 2023.7.15
通知方式:交流群內(nèi)公布或私信通知

更多活動可繼續(xù)關(guān)注上方??的博客,好運總會輪到你!??!文章來源地址http://www.zghlxwxcb.cn/news/detail-549762.html

到了這里,關(guān)于【JVM】| 垃圾回收機制 | 文末送書的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【JVM】垃圾回收機制

    【JVM】垃圾回收機制

    ?哈嘍,哈嘍,大家好~ 我是你們的老朋友: 保護小周? ?? 今天給大家?guī)淼氖??JVM (Java 虛擬機) 的垃圾回收機制,回收是指回收什么?? 如何確定要回收的內(nèi)存: 引用計數(shù),可達性分析,如何釋放空間 : 標記清除,復制算法,標記整理,分代回收 ,一起來看看叭~ 本期

    2024年02月09日
    瀏覽(21)
  • 淺談JVM垃圾回收機制

    新生代收集(Minor GC/Young GC):只對新生代進行垃圾收集 老年代收集(Major GC/Old GC):只隊老年代進行垃圾收集 混合收集(Mixed GC):對整個新生代和老年代進行垃圾收集 收集整個Java堆和方法區(qū) 空間分配擔保是為了確保在Minor GC之前老年代還有容納新生代所有對象的剩余空間 垃圾回收算

    2024年02月10日
    瀏覽(20)
  • 【JavaScript】JavaScript基礎詳解(文末送書)

    【JavaScript】JavaScript基礎詳解(文末送書)

    ??博__主??:米碼收割機 ??技__能??:C++/Python語言 ??公眾號??:測試開發(fā)自動化【獲取源碼+商業(yè)合作】 ??榮__譽??:阿里云博客專家博主、51CTO技術(shù)博主 ??專__注??:專注主流機器人、人工智能等相關(guān)領域的開發(fā)、測試技術(shù)。 在 JavaScript 中,可以使用三種方式來聲明

    2024年02月08日
    瀏覽(24)
  • JVM中的垃圾回收機制

    JVM中的垃圾回收機制

    java相較于c、c++語言的優(yōu)勢之一是自帶垃圾回收器,垃圾回收是指 不定時 去堆內(nèi)存中清理 不可達 對象。不可達的對象并不會 馬上 就會直接回收, 垃圾收集器在一個Java程序中的執(zhí)行是自動的,不能強制執(zhí)行,程序員唯一能做的就是通過調(diào)用System.gc 方法來建議執(zhí)行垃圾收集

    2024年02月16日
    瀏覽(69)
  • JVM:垃圾回收機制(GC)

    JVM:垃圾回收機制(GC)

    引用計數(shù)算法: ? ? ? ? 在對象中添加一個引用計數(shù)器,當每有一個地方引用它時,計數(shù)器值加一。當引用失效時,計數(shù)器值就減一。當一個對象的計數(shù)器為零時,表示該對象沒有被任何其他對象引用,因此可以被釋放。 優(yōu)點 :是可以及時回收垃圾對象,避免內(nèi)存泄漏,且

    2024年01月19日
    瀏覽(28)
  • JVM G1垃圾回收機制介紹

    JVM G1垃圾回收機制介紹

    G1(Garbage First)收集器 (標記-整理算法): Java堆并行收集器,G1收集器是JDK1.7提供的一個新收集器,G1收集器基于“標記-整理”算法實現(xiàn),也就是說不會產(chǎn)生內(nèi)存碎片。此外,G1收集器不同于之前的收集器的一個重要特點是:G1回收的范圍是整個Java堆(包括新生代,老年代),而其

    2024年02月13日
    瀏覽(17)
  • 【JVM】垃圾回收機制詳解(GC)

    【JVM】垃圾回收機制詳解(GC)

    可以看jvm詳解之后,再來理解這篇文章更好 堆和方法區(qū),主要發(fā)生在堆中,然后主要發(fā)生在堆的伊甸園區(qū)(Eden)。 Java中的垃圾回收是根據(jù) 可達性分析算法(Reachability Analysis) 和 引用計數(shù)算法 來判斷對象是否存活的。 JDK.1.2 之后,Java 對引用的概念進行了擴充,將引用分為了:

    2024年02月13日
    瀏覽(16)
  • 深入學習JVM —— GC垃圾回收機制

    深入學習JVM —— GC垃圾回收機制

    ????????前面荔枝已經(jīng)梳理了有關(guān)JVM的體系結(jié)構(gòu)和類加載機制,也詳細地介紹了JVM在類加載時的雙親委派模型,而在這篇文章中荔枝將會比較詳細地梳理有關(guān)JVM學習的另一大重點——GC垃圾回收機制的相關(guān)知識,重點了解的比如對象可達性的判斷、四種回收算法、分代回收

    2024年02月14日
    瀏覽(21)
  • JVM學習 GC垃圾回收機制 (堆內(nèi)存結(jié)構(gòu)、GC分類、四大垃圾回收算法)

    JVM學習 GC垃圾回收機制 (堆內(nèi)存結(jié)構(gòu)、GC分類、四大垃圾回收算法)

    ?? 作者簡介: 努力的clz ,一個努力編程的菜鳥 ?????? ? ?? 文章專欄: 《JVM 學習筆記》 ,本專欄會專門記錄博主在學習 JVM 中學習的知識點,以及遇到的問題。 ? ?? 文章詳情: 本篇博客是學習 【狂神說Java】JVM快速入門篇 的學習筆記,關(guān)于 GC垃圾回收機制 (堆內(nèi)存結(jié)

    2023年04月19日
    瀏覽(23)
  • 【JVM】JVM執(zhí)行流程 && JVM類加載 && 垃圾回收機制等

    【JVM】JVM執(zhí)行流程 && JVM類加載 && 垃圾回收機制等

    目錄 ??1、JVM是什么? ??2、JVM的執(zhí)行流程(能夠描述數(shù)據(jù)區(qū)5部分) ??3、JVM類加載過程 ??4、雙親委派機制:描述類加載的過程 問題1:類加載器 問題2:什么是雙親委派模型?? 問題3:雙親委派模型的優(yōu)點 ??5、垃圾回收機制(重要,針對的是堆)?? ?問題1:判定對象

    2024年02月15日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包