精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試官問為什么新生代不用標記清除算法

開發 前端 算法
杭州某寫字樓,安琪拉穿著新買的19.9的皮鞋走進玻璃隔間辦公室,準備迎接一場新的表演。

[[398923]]

本文轉載自微信公眾號「安琪拉的博客」,作者安琪拉 。轉載本文請聯系安琪拉的博客公眾號。

杭州某寫字樓,安琪拉穿著新買的19.9的皮鞋走進玻璃隔間辦公室,準備迎接一場新的表演。

面試官 :看你簡歷上有些熟悉JVM,是吧?

安琪拉:是的

面試官 :那你跟我講講堆內存的分區。

安琪拉:[心想]:這很easy嘛,來,算是回顧一下JVM的基礎知識。

我們知道堆分為新生代和老年代,新生代就是我們說的Yong Generation,老年代是 Old Generation。

面試官 :然后呢?

安琪拉:然后什么?

面試官 :講完啦?下面沒有啦?新生代呢?

安琪拉:你想聽你可以跟我說嘛,你不說我怎么知道你想聽。

新生代又分為Eden區和Survivor區,Survivor由From區域和To區域組成,完整的內存結構,我給你畫一下,別抽了,筆遞給我一下,我畫一下,如下圖所示。

面試官 :哦,圖可以,那為什么堆要分新生代和老年代呢?

安琪拉:當然是為了更有效的管理內存。

面試官 :怎么說?

安琪拉:假設一下,如果不分新老代,內存就一整塊,垃圾收集器每次都要把那些長期存在的對象,和生命周期很短的對象放在一起回收,一般長生命周期的對象可能跟應用生命周期一致,你基本回收不掉的,比如Spring 框架里面的Bean管理相關的對象(ApplicationContext),整個應用運行期間都存在,這種一般經過幾次回收最后都放在老年代,但是如果不區分新老代,每次都一起回收,性能消耗很大。

區分新老代之后,老年代放長期存活的對象,新生代就放生命周期短的對象,老年代對象很穩定,新生代回收不影響老年代,回收效率能大大提高。

面試官 :那為什么新生代還要分Eden、From、To區域呢?

安琪拉:[開始慢慢有點意思了]

首先大部分對象生命周期是很短的,如果新生代不分多個區域,新生代可能會有二種回收方案

第一種可能:每次回收都在新生代整塊內存上進行,完整的垃圾回收過程分三步:

需要先找到需要清理的對象標記;

清理這些被標記的對象;

移動剩下的對象,對達到老年代晉升年齡的對象移動到老年代。

對象被回收掉后會產生很多內存碎片(被回收的對象很多),如果要解決內存碎片,需要移動剩下的對象(標記整理算法),整個回收流程效率很低。

第二種可能:如果沒有Survivor區(From + To),Minor GC(新生代回收)過程中,存活的對象直接被送到老年代,這樣的話老年代很快被填滿,觸發Major GC(因為Major GC一般伴隨著Minor GC,也可以看做觸發了Full GC),Full GC頻繁會影響程序的執行和響應速度。

新生代的回收叫Minor GC, 老年代的回收叫Major GC。

面試官 :為什么要設置兩個Survivor區呢?From 和 To

安琪拉:我們來看一下, 如果只有一個Survivor區,新生代內存的回收流程。

我按照上面這張圖畫的講,第一次Eden區域滿了,內存回收很簡單,直接把Eden區域存活對象放到Suvivor區域;

第二次內存回收,需要回收二個地方,Eden區域和Survivor區域。

  • 因為Survivor區域也會存活的對象需要被回收,對Survivor區要采用標記整理垃圾收集算法,(先標記需要清理的對象,然后回收,然后把剩下的存活對象放到一起);
  • Eden區域采用復制算法,把Eden區域存放的對象復制到Survivor區域,然后把整個Eden區清除。

看到網上有些文章說這里設置二個Survivor區域的原因是為了避免內存碎片,因為他假設第二次(以及后續)的回收,內存回收是先回收Eden區域,然后是Survivor區域,這樣當然會有內存碎片,但是如果真是只有一個Survivor區域,垃圾回收設計者肯定是先回收Survivor區域,再回收Eden區域,等Survivor區回收整理好,再把Eden區存放對象搬到Survivor區,這樣存活地址是連續的,沒有內存碎片。所以真正的原因還是我下面說的效率問題。

面試官 :這樣有什么問題呢?

安琪拉:這樣做有幾個問題:

  1. 經過幾次回收之后,Survivor區域滿了之后怎么辦?直接搬到老年代?那老年代很快就爆炸了。搬到Eden區?那內存碎片產生了,可能Survivor區和Eden區回收完之后,還需要再整理一下內存去掉內存碎片,性能消耗也是很大的。
  2. 一般標記整理算法的性能消耗是比復制算法消耗要大的,尤其是在新生代98%的對象都是“朝生夕死”的,標記清楚的是98%的對象,剩下就2%對象,要整理內存,不然直接把這2%對象放到另一個地方,把整塊內存清除,Eden整塊內存清除效率很高的。

所以歸根結底,二個Survivor區還是為了性能考慮,標記復制算法效率比標記整理效率高。

面試官 :那你跟我詳細講講標記新生代除了Eden,另外采用二個Survivor區的標記復制算法。

安琪拉:新生代中的對象 98% 是“ 朝生夕死” 的, 所以并不需要按照 1: 1 的比例來劃分Eden和Survivor的空間, 而是將新生代分為較大的一塊Eden空間和兩塊較小的Survivor 空間,每次只使用 Eden 和 其中一塊Survivor[0](From區域),留出Survivor[1](To區域)用來實現標記復制。

當回收時, 將 Eden 和 Survivor[0] 中還存活著的對象一次性地復制到另外一塊 Survivor[1] (To)空間上, 最后清理掉 Eden 和 剛才用過的 Survivor 空間。

另外說明一點:From區域和To區域在每次Minor GC之后都會互轉,From區域變成To區域,To區域變成From區域,這只是邏輯標識

HotSpot 虛擬機默認 將Eden 和 Survivor 的大小比例是 8: 1(CMS不適用), 也就是每次新生代中可用內存空間為整個新生代容量的 90%( 80%+ 10%),只有10%的內存會被“ 浪費”(一直有10%的內存(Survivor To區)不存東西)。

標記復制算法流程:

  1. Eden區域+Survivor From區滿,進行存活對象標記,標記完,把存活對象復制到Survivor To區域;
  2. Survivor To區域變成From區域(一個邏輯標識),From區域變成To區域;
  3. 內存分配,繼續步驟1,復制過程中有達到老年代晉升年齡(默認值15),移動到老年代。

面試官:剛才說了這么多,是不是來之前背題了?

安琪拉:【心想】回答不出來你說我對技術沒追求,回答出來了你說我背題,WTF。。

耐心對面試官解釋:怎么可能,我只不過是來之前把安琪拉的博客公眾號上的文章都看了一遍,嘿嘿。

面試官:在哪看,你分享給我。

面試官:誒誒,還有老年代內存回收策略呢?還有標記整理算法呢?另外講講幾種常見的垃圾回收器,CMS和G1。

安琪拉:不想講了,累了,要不放在二面的時候講吧。

面試官:沒事,二面面試官還是我,你直接講吧。

安琪拉:真不想講了。

面試官:那今天先到這吧,回去等通知,您出了這個門左拐。

文章來源于讀者的提問。

 

責任編輯:武曉燕 來源: 安琪拉的博客
相關推薦

2023-06-05 07:57:53

Kafka消息事務消息

2024-01-11 08:12:20

重量級監視器

2024-03-13 07:53:57

弱引用線程工具

2021-12-02 18:20:25

算法垃圾回收

2022-07-06 13:48:24

RedisSentinel機制

2022-01-05 09:55:26

asynawait前端

2021-08-05 12:41:57

高并發性能CAS

2024-03-08 07:53:19

LockMonitor線程

2021-08-18 07:37:02

程序員農民工人力

2023-08-02 08:48:11

C#碟片算法

2023-12-06 09:10:28

JWT微服務

2021-01-21 07:53:29

面試官Promis打印e

2025-09-24 17:05:02

2020-10-24 15:50:54

Java值傳遞代碼

2021-02-19 10:02:57

HTTPSJava安全

2025-06-16 08:10:00

2021-12-25 22:31:10

MarkWord面試synchronize

2021-11-08 09:18:01

CAS面試場景

2009-04-13 09:37:42

IT新生代創業

2011-09-14 09:31:45

點贊
收藏

51CTO技術棧公眾號

国产传媒日韩欧美成人| 国产精品a久久久久| 欧美三级午夜理伦三级中视频| 亚洲欧美日韩在线综合| 国产精品国产一区二区三区四区 | 免费看毛片网站| 欧美疯狂party性派对| 欧美成人vps| 精品999在线| av丝袜在线| 中文字幕日韩精品一区 | 日韩一卡二卡在线| 免费精品99久久国产综合精品| 欧美大奶子在线| 免费毛片视频网站| 99精品中文字幕在线不卡| 色八戒一区二区三区| 毛片av在线播放| 9色在线视频网站| 99视频一区二区| 91久久久精品| 天天干天天插天天射| 欧美日韩91| 日韩中文第一页| a级大片在线观看| 精品在线网站观看| 欧美一卡二卡三卡四卡| 日韩av片网站| 三上悠亚亚洲一区| 午夜免费久久看| av动漫免费观看| av电影在线观看一区二区三区| 不卡一区中文字幕| 97人人澡人人爽| 国产又粗又猛视频| 人禽交欧美网站| 国产精品com| 日韩视频在线观看一区| 日韩午夜免费视频| 久久人人爽人人| 欧美成人精品一区二区免费看片| 欧美电影《轻佻寡妇》| 亚洲天堂精品在线| 久久亚洲AV成人无码国产野外| 成人在线超碰| 精品久久99ma| 午夜男人的天堂| 国内视频在线精品| 亚洲第一福利视频| 2025中文字幕| 91精品国产乱码久久久竹菊| 日韩欧美中文字幕精品| 永久免费黄色片| 天堂精品在线视频| 欧美videos中文字幕| 中文字幕avav| silk一区二区三区精品视频| 日韩欧美在线一区二区三区| 日韩精品xxx| 日韩免费一级| 亚洲成人性视频| 国产人妻人伦精品1国产丝袜| 成人三级毛片| 亚洲欧美国内爽妇网| 国产精品亚洲无码| 欧美日韩伦理| 久久影院在线观看| 免费在线一级片| 亚洲精选在线| 国产成人精品日本亚洲| 最近国语视频在线观看免费播放| 免费观看在线综合| 91牛牛免费视频| 欧美一区二区黄片| 久久午夜羞羞影院免费观看| 神马影院午夜我不卡影院| www亚洲人| 亚洲乱码精品一二三四区日韩在线| 久操手机在线视频| 蜜桃麻豆影像在线观看| 在线精品视频小说1| 天天综合天天添夜夜添狠狠添| 欧美视频二区欧美影视| 亚洲韩国青草视频| 国产福利短视频| 国产精品88久久久久久| 欧美精品久久久久久久久久| 亚洲婷婷综合网| 激情深爱一区二区| 国产美女精品久久久| 国自产拍在线网站网址视频| 亚洲视频免费观看| 国产av天堂无码一区二区三区| 国产超碰精品| 日韩午夜激情免费电影| 午夜理伦三级做爰电影| 久久精品免费一区二区三区| 97久久久久久| 在线免费看av的网站| 成人国产亚洲欧美成人综合网| 水蜜桃一区二区| 美女日批视频在线观看| 欧美探花视频资源| 波多野结衣办公室双飞| 日韩精品水蜜桃| 午夜精品久久17c| 中文字幕 自拍偷拍| 岛国精品在线播放| 一本色道久久综合亚洲精品婷婷 | 亚洲一二三区不卡| av污在线观看| 韩国精品福利一区二区三区| 日韩有码在线观看| 亚洲乱码国产乱码精品| 成人自拍视频在线| 中国 免费 av| 日韩av电影资源网| 日韩精品丝袜在线| 九九精品在线观看视频| 激情综合色播五月| 日韩精品一区二区三区丰满| 女人让男人操自己视频在线观看| 欧美一区二区三区公司| 国产极品视频在线观看| 欧美综合二区| 激情小说综合网| 黑人另类精品××××性爽| 欧美一区午夜视频在线观看| 极品久久久久久久| 麻豆成人在线| 久久偷窥视频| 国产欧洲在线| 精品88久久久久88久久久| 男人的天堂久久久| 精久久久久久久久久久| 亚洲无玛一区| 国产精品成人国产| 国产性色av一区二区| 中文字幕视频网站| 久久久久亚洲综合| 日韩 欧美 高清| 欧美日韩爱爱| 国产精品高清在线观看| 韩国免费在线视频| 在线观看一区日韩| 免费看日本黄色片| 青青草国产成人av片免费| 视频二区一区| 色婷婷成人网| 美女精品视频一区| 国产激情无套内精对白视频| 亚洲一区欧美一区| 亚洲一二三四五| 最新国产乱人伦偷精品免费网站| 国产乱码精品一区二区三区中文 | 国产日韩精品推荐| av在线最新| 亚洲欧美在线一区二区| 成人av网站在线播放| 国产片一区二区| 91高清国产视频| 婷婷久久综合| 97免费高清电视剧观看| 高潮在线视频| 国产亚洲精品美女| 亚洲综合精品国产一区二区三区| 亚洲人成网站精品片在线观看| 欧美一区二区三区影院| 亚洲高清网站| 日韩精品欧美专区| 成人在线精品| 91av免费观看91av精品在线| 免费一级在线观看播放网址| 欧美日韩中文字幕一区| 看片网站在线观看| 99综合电影在线视频| 黄色国产小视频| 91精品电影| 精品视频一区二区| 草莓视频成人appios| 久久九九免费视频| 欧美性猛交 xxxx| 在线观看视频欧美| 国产少妇在线观看| 91色porny| 第一区免费在线观看| 国产精品草草| 亚洲 日韩 国产第一区| 日韩欧美久久| 日韩av片电影专区| 在线中文字幕视频观看| 亚洲九九九在线观看| 国产乱色精品成人免费视频 | 尤物av无码色av无码| 日韩精品一区二区三区免费观看| www.av一区视频| 素人啪啪色综合| 欧美精品videosex牲欧美| 成人在线免费视频| 亚洲国产精品999| 91无套直看片红桃| 欧美性xxxxxxx| 青青草手机视频在线观看| 久久久不卡网国产精品一区| 性生交大片免费看l| 蜜臀av亚洲一区中文字幕| 亚洲国产精品无码av| 国产精品成久久久久| 欧美激情专区| 加勒比色老久久爱综合网| 成人网在线免费看| 久久精品女人天堂av免费观看 | 精品免费囯产一区二区三区| 亚洲激情校园春色| 一区二区伦理片| 不卡一区中文字幕| 美女又黄又免费的视频| 另类欧美日韩国产在线| 无码人妻丰满熟妇区毛片| 很黄很黄激情成人| 一区二区三区四区久久| 日韩电影二区| 日本精品一区| 亚洲素人在线| 精品高清视频| 精品国产午夜肉伦伦影院| 亚洲自拍中文字幕| 成人激情久久| 成人黄色片在线| 日本午夜免费一区二区| 国产精品福利无圣光在线一区| 美女扒开腿让男人桶爽久久软| 欧美激情在线一区| 宅男在线观看免费高清网站| 美女视频黄免费的亚洲男人天堂| 伦xxxx在线| 北条麻妃99精品青青久久| av电影在线观看网址| 色噜噜亚洲精品中文字幕| jyzzz在线观看视频| 一本色道久久综合狠狠躁篇怎么玩| 日韩午夜影院| 亚洲性无码av在线| 国产一级在线| 中文在线不卡视频| 嫩草在线视频| 久久99亚洲精品| 羞羞污视频在线观看| 色与欲影视天天看综合网| 羞羞电影在线观看www| 欧美二区乱c黑人| 18video性欧美19sex高清| 81精品国产乱码久久久久久| 三级在线观看视频| 日韩av黄色在线观看| 日本一区免费网站| 91精品久久久久久久久久久久久久 | 亚洲第一久久影院| 成年人免费看毛片| 狠狠色狠狠色综合日日五| 免费黄色av片| 欧美日韩精品综合在线| 国产视频一区二区三区四区五区| 精品久久久久久最新网址| 日韩一区二区三区不卡| 国产亚洲精品高潮| 天天影视久久综合| 色综合久久久888| 末成年女av片一区二区下载| 国产精品美女999| jizz欧美| 岛国视频一区免费观看| 日韩精品导航| 正在播放一区| 亚洲日韩成人| 亚洲无吗一区二区三区| 国产精品自拍三区| 日本黄色网址大全| 《视频一区视频二区| 精品午夜福利在线观看| 色综合天天综合网国产成人综合天 | av成人动漫在线观看| 男人天堂av电影| 亚洲欧美区自拍先锋| 中文字幕第15页| 6080国产精品一区二区| 人成网站在线观看| 最好看的2019的中文字幕视频| 污影院在线观看| 热门国产精品亚洲第一区在线| 日韩五码电影| 久久久av水蜜桃| 综合激情视频| 热久久精品国产| 国产99精品在线观看| 欧美激情 一区| 精品高清一区二区三区| 91片黄在线观看喷潮| 亚洲精品在线看| 日本高清成人vr专区| 国产精品免费看久久久香蕉| ccyy激情综合| 在线视频不卡国产| 国产日韩欧美在线播放不卡| 日韩av影视大全| 日本一区二区高清| 日韩手机在线观看| 91精品黄色片免费大全| 国产视频在线看| 91高潮在线观看| 91蝌蚪精品视频| 操bbb操bbb| 日韩高清在线一区| 国产麻豆天美果冻无码视频| 亚洲综合色婷婷| 国产乱淫片视频| 色妞在线综合亚洲欧美| 日韩性xxx| 九九九九九九精品| 亚洲精品美女| 亚洲视频天天射| 一区二区三区在线看| 国产老妇伦国产熟女老妇视频| 国产午夜精品美女视频明星a级| 麻豆蜜桃在线观看| 国产伦精品一区二区三区视频免费 | 另类图片亚洲另类| 亚洲欧洲二区| 亚洲免费在线精品一区| 日韩电影免费在线| 一级黄色性视频| 日本韩国一区二区三区视频| 欧美理论在线观看| 欧美有码在线视频| 天天躁日日躁成人字幕aⅴ| cao在线观看| 丁香激情综合国产| 国产在线拍揄自揄拍无码视频| 欧美成人高清电影在线| sqte在线播放| 含羞草久久爱69一区| 99国内精品| yy1111111| 色综合天天做天天爱| 黄色av网站在线看| 国产精品久久77777| 波多野结衣在线播放一区| 亚洲激情在线观看视频| 国产目拍亚洲精品99久久精品| 成人一级免费视频| 中文字幕在线观看亚洲| 久久亚洲精品中文字幕| 中文字幕成人一区| 国产一区二区三区精品视频| 欧美爱爱小视频| 亚洲成色777777女色窝| 欧美成人影院| 污视频在线免费观看一区二区三区| 免费美女久久99| 精品国产视频在线观看| 日韩欧美一二三四区| 菠萝蜜视频在线观看www入口| 国新精品乱码一区二区三区18| 在线视频精品| 国产精品国产三级国产专业不 | 日产精品久久久一区二区福利| 久久最新网址| 蜜臀一区二区三区精品免费视频| 亚洲男人的天堂网| 日本波多野结衣在线| 国产成人av网址| 91精品国产91久久综合| 动漫美女无遮挡免费| 日韩欧美a级成人黄色| 在线日本视频| 国产成人精品福利一区二区三区 | 亚洲成人一区在线| 毛片免费在线| 亚洲bt天天射| 久久一二三区| 国产一区二区视频在线观看免费| 亚洲国产天堂网精品网站| jizz免费一区二区三区| 国产成人永久免费视频| 久久久精品综合| 亚洲国产综合网| 国产精品wwwwww| 国产精品chinese| 俄罗斯毛片基地| 亚洲大胆美女视频| 日本一区二区三区中文字幕| 日本午夜激情视频| 中文字幕国产精品一区二区| 黄片毛片在线看| 国产精品亚洲视频在线观看| 中文日韩欧美| 欧美黑人一级片| 在线观看欧美视频| 日韩高清影视在线观看| 中文字幕一区二区三区四|