JVM--GC篇

執(zhí)行GC的線程屬于VM Thread益兄,不是Java Thread。
什么時候觸發(fā)GC?
(1)當(dāng)剩余Eden空間不夠裝下新創(chuàng)建的對象實例時觸發(fā)MinorGC痊乾;
(2)當(dāng)老年代剩余空間不夠裝下直接丟進(jìn)老年代或者到達(dá)晉升年齡的對象時觸發(fā)FullGC喘批;
觸發(fā)GC后撩荣,需要掛起所有的Java Thread,來執(zhí)行GC Roots的可達(dá)性分析算法獲取可達(dá)對象和不可達(dá)對象饶深。
如何掛起所有的Java Thread餐曹?
在JVM發(fā)起GC時,可以先忽略處于sleep或者blocked的Java線程敌厘,因為這些Java線程在進(jìn)入sleep或者blocked狀態(tài)時已經(jīng)標(biāo)記自己進(jìn)入了Safe Region台猴,在離開sleep或者blocked狀態(tài)時,會檢查系統(tǒng)是否已經(jīng)完成了GC俱两,如果完成了就繼續(xù)執(zhí)行饱狂,如果沒有就繼續(xù)等待,直到收到GC完成的信號為止宪彩。
然后通過設(shè)置安全點休讳,可以在不太長的時間內(nèi)讓所有正在運行的Java線程遇到安全點,順利地被掛起毯焕。
最后衍腥,開始GC。
-- 設(shè)置安全點
保證正在執(zhí)行的線程在不太長的時間內(nèi)會遇到GC的safe point纳猫;
缺點:對于當(dāng)前沒有在執(zhí)行的線程婆咸,比如處于sleep或者blocked的線程,就不是很有效
-- 設(shè)置安全區(qū)域
基本想法:當(dāng)一個線程因sleep或者處于blocked而沒有在執(zhí)行時芜辕,其對應(yīng)的代碼片段中變量及對象的引用關(guān)系是不會發(fā)生變化的尚骄,所以只需要在一個線程在進(jìn)入sleep或者blocked時,標(biāo)識自己進(jìn)入了Safe Region侵续,從而在一個線程sleep或者blocked期間倔丈,JVM發(fā)生GC了,

問題:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末状蜗,一起剝皮案震驚了整個濱河市需五,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轧坎,老刑警劉巖宏邮,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡蜜氨,警方通過查閱死者的電腦和手機(jī)械筛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來飒炎,“玉大人埋哟,你說我怎么就攤上這事±赏簦” “怎么了赤赊?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怒竿。 經(jīng)常有香客問我砍鸠,道長扩氢,這世上最難降的妖魔是什么耕驰? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮录豺,結(jié)果婚禮上朦肘,老公的妹妹穿的比我還像新娘。我一直安慰自己双饥,他們只是感情好媒抠,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咏花,像睡著了一般趴生。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昏翰,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天苍匆,我揣著相機(jī)與錄音,去河邊找鬼棚菊。 笑死浸踩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的统求。 我是一名探鬼主播检碗,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼码邻!你這毒婦竟也來了折剃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤像屋,失蹤者是張志新(化名)和其女友劉穎怕犁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡因苹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年苟耻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扶檐。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡凶杖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出款筑,到底是詐尸還是另有隱情智蝠,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布奈梳,位于F島的核電站杈湾,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏攘须。R本人自食惡果不足惜漆撞,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望于宙。 院中可真熱鬧浮驳,春花似錦、人聲如沸捞魁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谱俭。三九已至奉件,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間昆著,已是汗流浹背县貌。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留宣吱,地道東北人窃这。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像征候,于是被迫代替她去往敵國和親杭攻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法疤坝,類相關(guān)的語法兆解,內(nèi)部類的語法,繼承相關(guān)的語法跑揉,異常的語法锅睛,線程的語...
    子非魚_t_閱讀 31,644評論 18 399
  • http://www.cnblogs.com/angeldevil/p/3801189.html值得一看 Clas...
    snail_knight閱讀 1,425評論 1 0
  • 《深入理解Java虛擬機(jī)》筆記_第一遍 先取看完這本書(JVM)后必須掌握的部分埠巨。 第一部分 走近 Java 從傳...
    xiaogmail閱讀 5,097評論 1 34
  • JVM內(nèi)存區(qū)域 JVM將其管理的內(nèi)存分為若干數(shù)據(jù)區(qū)域,這些數(shù)據(jù)區(qū)域分布情況如下圖所示: 程序計數(shù)器:一塊較小內(nèi)存區(qū)...
    luoxn28閱讀 697評論 0 0
  • 打算這個五一可能會很頹廢的過去吧
    海秀啊閱讀 139評論 0 0