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

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

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

[[273416]]

作者:iMononoke

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

 

GC是啥?

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

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

“臟亂差”

[[273425]]

 

“干凈~”

[[273426]]

 

 

 


 

 

還“活著”嗎?

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

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

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

要回收,先要判斷是不是可以回收,就是這個(gè)對(duì)象還“活著”嗎?

主要有兩種算法來判斷:

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

列個(gè)表看看~

 

引用計(jì)數(shù)法

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

一圖勝千言。

1 互相引用

 

這是兩個(gè)對(duì)象互相引用的情況,除此之外,這兩個(gè)對(duì)象再無引用,但因?yàn)樗鼈兊囊糜?jì)數(shù)不為0,所以引用計(jì)數(shù)器無法通知GC收集器回收它們。

2 循環(huán)引用

 

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

 

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

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

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

  • 可達(dá)性分析法

 

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

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

 

可以做GC Roots的對(duì)象

這個(gè)大圖是不是挺熟悉?

 

再歸個(gè)類~

 

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

責(zé)任編輯:武曉燕 來源: 碼個(gè)蛋
相關(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ù)個(gè)人信息人工智能

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

安全運(yùn)維信息安全網(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垃圾回收
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 久久激情视频 | 一级黄色毛片免费 | 国产中文区二幕区2012 | 五月激情婷婷六月 | 色在线视频网站 | 久草久 | 91色视频在线 | 国产小视频在线看 | 日韩免费毛片视频 | 成年人视频免费在线观看 | 欧美一区二区激情三区 | 亚洲欧美日韩久久久 | 天堂一区二区三区四区 | 精品永久| 欧美精品一区二区三区在线 | 色久五月 | 美女国产一区 | 亚洲性免费 | 国产日韩欧美 | 欧美激情欧美激情在线五月 | 北条麻妃一区二区三区在线视频 | 日本成人午夜影院 | 午夜码电影 | 亚洲综合三区 | 亚洲不卡在线观看 | 成人网av | 国产亚洲一区二区三区在线观看 | www日本高清视频 | 精品一区欧美 | 男女久久久| 亚洲欧美激情精品一区二区 | 一区二区视频免费观看 | 久久99精品久久 | 日日夜夜视频 | 成人国产精品免费观看 | 欧美在线一区二区三区 | 国产精品高清在线 | 国产精品1| 久久夜视频 | 亚洲+变态+欧美+另类+精品 |