如果在java中設定年輕代和老年代一樣大,那麼是不是minor gc和full gc就沒有區別了呢?

時間 2021-05-29 22:52:29

1樓:黃治民

good question

但是你要想到,minor gc的的演算法是複製,清除演算法。

動作:複製,清除,速度超快

old gc,比如以前經典的複製整理演算法。需要清除,然後整理記憶體區域。並且還要考慮吞吐量,響應時間,操作相對複雜很多。操作起來就會很麻煩。

所以區別依舊很大

2樓:正經人誰寫程式碼啊

不是young gc與full gc的區別並不僅僅只是因為年輕代老年代所佔記憶體大小的問題,年輕代占堆的1/3,而老年代佔據了2/3。新生代中的物件基本上都是「朝生夕死」所以GC效率很高,為了避免記憶體碎片,提高效率等問題,一般採用複製演算法,這也是為什麼新生代分為eden區,from survivor區和to survivor區,survivor區就是用來存放在eden區在一輪young gc中存活物件的複製體,而老年代中的物件大多數要麼生存周期長,要麼占用記憶體大,用複製演算法或標記清除演算法效率較低,都有很大缺點,於是一般採用標記整理演算法,所以old gc(ps: 區別於full gc)和young gc進行的演算法是不一樣的,而且進行full gc時會預設附帶進行一次young gc。

如果在遊戲《Fate Grand Order》中加入乙個角色,你會怎麼寫怎麼做?

伍武烏吾 姓名 魯迅 職介 世界觀全部職業 能力 強弱隨職業變化而變化 寶具 不限 技能一,你要殺的人是周樹人,關我魯迅什麼事 免死 以及變化職業,比如你要找槍兵麻煩,關我劍士什麼事 隨時變化 技能二 魯迅先生說過 因惡搞,所有名言都是魯迅說的 世上所有寶具只要知道解放咒就能使用,總結,魯迅在手,天...

如果在 iPad 中安裝 Windows,需要解決那些難題?

首先,需要做好對自己的心裡安撫工作,告訴自己,我是個geek!其次,需要想好如何向別人解釋,在受到嘲笑時,不為所動 然後,需要在現實生活中找到乙個 技術支援 可以是學長 宿舍樓下電腦維修部老闆。一旦最後搞不定,有人幫你收尾 最後,擅用搜尋引擎吧。 北極 個人背景 嵌入式系統開發。乙個嵌入式OS要移植...

如果在fate中召喚史達林會怎樣

一切都要追溯到那次聖杯戰爭的開端,某位御主突然丟失了他的聖遺物,但手背上的令咒已經浮現了。他心急如焚,看著隔壁閃耀著史達林格勒之劍的光輝,靈機一動,掏出一根玉公尺 在深山裡和偷獵者對狙 不想被打爛狗頭的話最好在自己是連魔術迴路都沒有的普通人的情況下召喚共產主義者,我感覺他們大概率會有類似斯巴達克斯的...