成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

來自JVM的靈魂拷問:“你是什么垃圾?”

云計算 虛擬化
GC是一種自動的存儲管理機制。當(dāng)一些被占用的內(nèi)存不再需要時,就應(yīng)該予以釋放。這種存儲資源管理,稱為垃圾回收。

[[273416]]

作者:iMononoke

博客:https://juejin.im/user/5c629a3051882562191755d8

 

GC是啥?

GC是一種自動的存儲管理機制。當(dāng)一些被占用的內(nèi)存不再需要時,就應(yīng)該予以釋放。這種存儲資源管理,稱為垃圾回收。

就和平時你清理桌面,整理東西一樣,很多人都見過聽過一個理念“斷舍離”吧,不會使用到的物品可以捐贈給其他人或者作為可回收物品被回收掉,很多時候我們存著一些物品,但是好幾年都沒有用到它們,只是想著可能什么時候會用到,這樣一直占據(jù)著現(xiàn)實的“內(nèi)存”。

“臟亂差”

[[273425]]

 

“干凈~”

[[273426]]

 

 

 


 

 

還“活著”嗎?

在0-1的世界里,所謂“垃圾回收”,就是指收回那些不可能再被任何途徑使用的對象所占的內(nèi)存空間,釋放了這些內(nèi)存可以給需要的對象使用。

那么JVM里是怎么來分的?或者說哪些對象是需要被回收的?

主要是問一句:還“活著”嗎?

要回收,先要判斷是不是可以回收,就是這個對象還“活著”嗎?

主要有兩種算法來判斷:

  • 引用計數(shù)法
  • 可達性分析法。

列個表看看~

 

引用計數(shù)法

最大的問題,是很難解決對象之間互相引用的情況。

一圖勝千言。

1 互相引用

 

這是兩個對象互相引用的情況,除此之外,這兩個對象再無引用,但因為它們的引用計數(shù)不為0,所以引用計數(shù)器無法通知GC收集器回收它們。

2 循環(huán)引用

 

這是循環(huán)引用的情況,沒有外部引用指向它們,但它們的引用計數(shù)不為0,就無法進行回收了。

 

比如一把椅子的靠背壞了,椅子的輪子還是好的,但這輪子不能拆下來挪為他用,所以椅子的靠背和它的輪子是互相引用的,但是除了它們自己,沒有外界引用它們了。

這樣的情況用“引用計數(shù)法”來判斷的話,它們還是不用被回收的,但實際它們都沒有使用作用了。

所以主流的jvm都不使用引用計數(shù)法來管理內(nèi)存,而是采用下面的可達性分析法,下圖是它的基本思路示意圖。

  • 可達性分析法

 

由圖可知,object5、object6和object7都沒有到GCRoots對象的引用鏈,它們都會被回收。

按照上面的例子,壞了的椅背和沒壞的輪子都屬于椅子對象(object5),但是椅子本身不被使用,就沒有引用到它們的引用鏈了。

 

可以做GC Roots的對象

這個大圖是不是挺熟悉?

 

再歸個類~

 

  • 第一次:對象可達性分析之后,發(fā)現(xiàn)沒有與GCRoots相連接,此時會被第一次標(biāo)記并篩選。
  • 第二次:對象沒有覆蓋finalize()方法,或者finalize()方法已經(jīng)被虛擬機調(diào)用過,此時會被認(rèn)定為沒必要執(zhí)行。

責(zé)任編輯:武曉燕 來源: 碼個蛋
相關(guān)推薦

2022-12-12 08:46:11

2022-08-26 01:10:32

TCPSYNLinux

2020-05-22 08:13:45

敏捷開發(fā)OKR

2019-08-01 10:20:10

2022-05-30 18:37:03

數(shù)據(jù)個人信息人工智能

2021-06-02 09:47:48

RSA2021

2020-06-02 07:44:04

AQS JavaNode

2019-11-19 10:32:55

Java語言程序員

2020-05-29 11:48:01

安全運維信息安全網(wǎng)絡(luò)安全

2025-06-17 08:35:00

2019-12-25 09:02:48

HTTPSHTTP安全

2022-03-16 18:27:39

開發(fā)低代碼軟件開發(fā)

2023-12-07 12:21:04

GCJVM垃圾

2021-05-26 05:22:48

SQL 數(shù)據(jù)庫SELECT

2023-06-16 14:10:00

TCPUDP網(wǎng)絡(luò)通信

2012-09-24 15:41:22

2021-02-10 16:53:56

區(qū)塊鏈加密貨幣數(shù)字貨幣

2021-07-17 21:49:15

區(qū)塊鏈加密貨幣賬本

2021-03-12 09:24:58

Redis面試場景

2009-12-30 10:14:29

JVM垃圾回收
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 免费a v网站| 色狠狠一区 | 亚洲激情一区二区三区 | 久久精品日产第一区二区三区 | 成人欧美一区二区三区1314 | 羞羞在线观看视频 | 久久一二 | 欧美福利久久 | 一区二区在线免费观看 | 成人在线视频看看 | 国产影音先锋 | 亚洲电影一区 | 亚洲成人网在线播放 | 中文字幕视频三区 | 日韩一区二区三区精品 | 妹子干综合 | 91免费高清视频 | 91国产在线播放 | 日韩在线不卡 | 亚洲精品久久久久久下一站 | 91亚洲国产成人精品一区二三 | 正在播放一区二区 | 2018天天干天天操 | 亚洲精品成人在线 | 亚洲国产成人久久久 | 老妇激情毛片免费 | 亚洲成人av | 亚洲福利在线观看 | 国产伦精品一区二区三区照片91 | 亚洲激情视频在线 | 天天插天天操 | 久久久国产精品视频 | 欧美亚洲视频 | 亚洲av毛片成人精品 | 国产精品黄色 | 久久久久久久久毛片 | 国产精品亚洲综合 | 91九色视频| 性一区| 无码国模国产在线观看 | 狠狠爱免费视频 |