面試官:什么是三色標記


程序員的公眾號:源1024獲取更多資料,無加密無套路!

最近整理了一波電子書籍資料,包含《Effective Java中文版 第2版》《深入JAVA虛擬機》,《重構改善既有代碼設計》,《MySQL高性能-第3版》,《Java并發編程實戰》等等
獲取方式: 關注公眾號并回復 電子書 領取,更多內容持續奉上


三色標記法:垃圾收集器依據可達性分析算法判斷對象是否存活時,將遍歷GC Roots過程中遇到的對象,按照“是否訪問過”這個條件,把對象標記成白色(white)、灰色(gray)、黑色(black)三種顏色。

優點:

可以異步執行,從而可以以中斷時間極少的代價或者完全沒有中斷來進行整個 GC

缺點:

?可能存在標記漏標和標記誤標的情況,需要額外的處理來解決這些問題。

?漏標處理方案有:

????????CMS:采用的是寫屏障 + 增量更新

????????G1: 采用的是寫屏障 + 原汁快照(SATB)

????????ZGC:采用的是讀屏障

白色表示對象尚未被掃描,即未被標記為存活對象。

灰色表示對象已經被掃描,但其引用的其他對象尚未被掃描。

黑色表示對象已經被掃描,并且其引用的其他對象也已經被掃描。

?標記過程:

  1. 垃圾收集器在開始垃圾回收時,將所有對象標記為白色。
  2. 然后從根對象開始,遞歸地遍歷對象圖,將遇到的對象標記為灰色,并將其引用的對象添加到待掃描隊列中。
  3. 接著,垃圾收集器從待掃描隊列中取出對象,將其標記為黑色,并將其引用的對象添加到待掃描隊列中。這個過程會一直進行,直到待掃描隊列為空。
  4. 最后,所有未被標記為黑色的對象即為垃圾對象,可以被回收。

?系列文章索引

MyBatis的插件能在哪些地方進行攔截?

了解MyBatis的緩存機制嗎

面試官:談談對volatile的理解

Spring中用到了哪些設計模式

面試官:說一下SQL的執行過程

線程池的工作原理


?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160079.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160079.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160079.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

git提交時會將target也提交

有時候大家在提交git時發現會將編譯文件target也提交上去,這種情況有以下幾種情況 情況1:項目沒有設置.gitignore 情況2:設置了.gitignore但是依然會提交。 第一種:添加.gitignore,并在文件中添加需要忽略的東西。 …

redis分布式鎖的學習記錄

核心性質 獨占性:對于同一把鎖,同一時刻只能被一個加鎖方獨占 健壯性:不能產生死鎖。如果有一個因為宕機無法主動解鎖,鎖也應該被正常加載 對稱性:加成和解鎖的使用方必須為同一個身份,不允許被非方釋放 高…

HCIA-實驗命令基礎學習:

視頻學習: 第一部分:基礎學習。 19——子網掩碼。 27——防火墻配置: 32——企業級路由器配置: 基礎實驗完成:(完成以下目錄對應的實驗,第一部分基礎實驗就完成。) 方法&#xff…

C //習題 8.13 寫一個用矩形法求定積分的通用函數,分別求

C程序設計 (第四版) 譚浩強 習題8.13 習題 8.13 寫一個用矩形法求定積分的通用函數,分別求 ∫ 0 1 s i n x d x , ∫ 0 1 c o s x d x , ∫ 0 1 e x d x \int_{0}^{1}sinx\ dx,\ \ \int_{0}^{1}cosx\ …

ILI9225 TFT顯示屏16位并口方式驅動

所用屏及資料如后圖: ILI9225,176*220,8位或16位并口屏,IM0接GND,電源及背光接3.3v 主控:CH32V307驅動(庫文件和STM32基本一樣) 一、源碼 ILI9225.c #include "ILI9225.h&quo…

設計模式(二)-創建者模式(4)-原型模式

一、為何需要原型模式(Prototype Pattern)? 在軟件設計中,我們會遇到到這樣的情況:對原對象進行拷貝一個新的副本。想要實現這樣的邏輯,有一種笨方法就是對原對象里的所有變量進行逐一賦值。但是這樣的做法會導致代碼…

【SpringCloud】認識微服務、服務拆分以及遠程調用

SpringCloud 1.認識微服務 1.1單體架構 單體架構:將業務的所有功能集中在一個項目中開發,打成一個包部署 單體架構的優缺點: **優點:**架構簡單,部署成本低 **缺點:**耦合度高(維護困難&…

【C++】郭老二博文之:C++目錄

1、POCO 【POCO】POCO學習總結(一)–下載與編譯 【POCO】POCO學習總結(二)——配置選擇 【POCO】POCO學習總結(三)——交叉編譯 2、C11 2.1 STL算法 【C】C11 STL算法(一):非修改序列操作&a…

筆記59:序列到序列學習Seq2seq

本地筆記地址:D:\work_file\(4)DeepLearning_Learning\03_個人筆記\3.循環神經網絡\第9章:動手學深度學習~現代循環神經網絡 a a a a a a a a a a a a a a a

C++ Day04 this指針,友元函數,重載

this指針 概念 誰調用 this 所在的函數 ,this 就存儲誰的地址 特點 1, 在當前類的非靜態成員函數中調用本類非靜態成員時 , 默認有 this 關鍵字 2, 靜態成員函數 , 沒有 this 指針。 示例 #include <iostream> #include <cstring> using namespace std; class S…

前后端分離項目跨域請求的問題與解決辦法

目錄 一、為什么會存在跨域請求&#xff1f; 二、跨域請求的流程&#xff1f; 三、什么情況下會觸發CROS機制&#xff1f; 四、如何解決跨域請求導致的問題&#xff1f; 一、為什么會存在跨域請求&#xff1f; 跨域請求是因為瀏覽器的同源策略引起的。同源策略是瀏覽器的一種…

算法刷題-動態規劃2

算法刷題-動態規劃2 珠寶的最高價值下降路徑最小和 珠寶的最高價值 題目 大佬思路 多開一行使得代碼更加的簡潔 移動到右側和下側 dp[ i ][ j ]有兩種情況&#xff1a; 第一種是從上面來的禮物最大價值&#xff1a;dp[ i ][ j ] dp[ i - 1 ][ j ] g[ i ][ j ] 第二種是從左…

10.10-11 科研記錄 一些多模態工作的相關思考

論文出發點很簡單&#xff0c;第一&#xff0c;就是想要去除文本的冗余數據&#xff0c;有多篇文章也提到了&#xff0c;冗余文本影響對下游任務的性能&#xff0c;大量無關的文本輸入到大模型也會影響大模型的性能&#xff0c;本質也很好理解&#xff0c;就是盡可能去除與任務…

握住音樂的法寶 - 簡譜

簡譜是音樂學習中至關重要的記譜法。除了簡譜&#xff0c;還有吉他和鋼琴的五線譜&#xff0c;以及我最喜歡的古琴減字譜等其他記譜方式。如果你對音樂感興趣&#xff0c;一起學習吧&#xff0c;我不允許你是一個文盲。 一、調拍號 “1C 4/4”即為調拍號&#xff0c;調拍號分…

opencv-直方圖均衡化

直方圖均衡化是一種用于增強圖像對比度的圖像處理技術。它通過調整圖像的灰度級別分布&#xff0c;使得圖像中各個灰度級別的像素分布更均勻&#xff0c;從而提高圖像的對比度。 在OpenCV中&#xff0c;你可以使用cv2.equalizeHist()函數來進行直方圖均衡化。 以下是一個簡單…

opencv-2D直方圖

cv2.calcHist() 是 OpenCV 中用于計算直方圖的函數。它可以計算一維或多維直方圖&#xff0c;用于分析圖像中像素值的分布。 基本的語法如下&#xff1a; hist cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])參數說明&#xff1a; images:…

[點云分割] 條件歐氏聚類分割

介紹 條件歐氏聚類分割是一種基于歐氏距離和條件限制的點云分割方法。它通過計算點云中點與點之間的歐氏距離&#xff0c;并結合一定的條件限制來將點云分割成不同的區域或聚類。 在條件歐氏聚類分割中&#xff0c;通常會定義以下兩個條件來判斷兩個點是否屬于同一個聚類&…

Java繼承中的屬性名相同但是類型不同的情況

如果子類出現一個屬性與父類的屬性名一樣,那么父類的屬性將會被隱藏(java官方文檔) 在繼承當中,子類繼承父類的屬性和繼承方法的方式上有所差別: 父類屬性不可被重寫,只會被調用,父類方法可以被重寫,也可以被調用 當子類中存在和父類同名屬性,父類屬性會隱藏起來,在多態的情…

利用Python進行數據分析【送書第六期:文末送書】

&#x1f468;?&#x1f393;博主簡介 &#x1f3c5;云計算領域優質創作者 ??&#x1f3c5;華為云開發者社區專家博主 ??&#x1f3c5;阿里云開發者社區專家博主 &#x1f48a;交流社區&#xff1a;運維交流社區 歡迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…