91精品国产91久久久久久麻豆-国产亚洲精品观看91在线-亚洲欧美日韩精品久久-欧美高清视频在线观看-亚洲免费在线视频播放-国产精品怕怕怕视频免费-亚洲日本国产乱码va在线观看-国产婷婷丁香久久综合-国产chinese视频在线观看-欧美一区二区日韩一区二区

南京中博教育

南京中博教育電話

南京中博教育學校南京中博教育 > 新聞中心 > 課程咨詢 >

Java在權力的游戲里能活到第幾集_中博培訓學校

發(fā)布時間:2019-07-29 12:06??發(fā)布人:南京中博教育??發(fā)布來源:南京中博教育??瀏覽人數(shù):185

前言:隨著《冰與火之歌》第八季的開播,那震撼人心的主旋律一遍又一遍地激蕩著老王的心田,看著劇中一個又一個的人物前仆后繼地走向死亡,從事Java開發(fā)多年的他不禁由此聯(lián)想到了Jav
隨著《冰與火之歌》第八季的開播,那震撼人心的主旋律一遍又一遍地激蕩著老王的心田,看著劇中一個又一個的人物前仆后繼地走向死亡,從事Java開發(fā)多年的他不禁由此聯(lián)想到了Java虛擬機(JVM)中對象的創(chuàng)建與消亡。

權力的游戲

創(chuàng)建

自第一季伊始,眼看著一個個人物華麗麗地登場了,當然其中也有灰溜溜地出場的,安達爾人、先民、森林之子、瓦力亞人、多斯拉克人,人物多得讓人眼花繚亂,還有三條巨龍。

  而作為面向對象的編程語言,整個Java開發(fā)就是圍繞對象進行的,每個程序都要創(chuàng)造許多大大小小、各種各樣的對象。這么多對象如果一直存活著,是非常占據(jù)內存的,勢必要造成資源的白白浪費,所以放在JVM中的對象免不了“凡人皆有一死”。究竟怎么個死法?被毒死被射死被砍頭被割喉被燒死被血影殺死?都不是。

新生代

大部分Java對象剛被創(chuàng)造出來的時候就被放置在了這里,它們自己并不知道日后的命運,就像維斯特和呃索斯大陸上被創(chuàng)造的無數(shù)生命并不知道自己何時會死亡一樣。

  新生代中的對象們安安靜靜地等待著程序的調遣,然后本本分分地發(fā)揮著自己的作用,正如北境的小姐懷著她的王后夢坐在壁爐前安靜地做著刺繡,英俊的騎士與愛人在快活地調著情,慈愛的母親懷著身孕參加一場浪漫的婚禮,誰能想到自己即將成為無辜的冤魂呢?

  Java對象們也不知道,它們并不知道老王何時會在程序中丟棄它們,老王也不知道將它們丟棄后,死神一般的垃圾回收器何時會找到它們。

  JVM毫無預備地發(fā)起了一次Minor GC,不少對象被消亡了,奈德·史塔克和勞勃國王這對曾經的好基友就死于這次GC,一言不合被安排領了便當。

  活下來的對象被JVM從Eden區(qū)轉移到了Survivor 區(qū),然后歷經一次又一次的Minor GC,15次(默認進入老年代的值,可以通過參數(shù)–XX : Max Tenuring Threshold 來設定)之后,80%以上的對象都死了。

  這是什么概念?

  放在權力的游戲中,可不是小惡魔把他的父親射死在馬桶上,然后勒死自己的情婦那么簡單,加起來就兩條人命,也不是獲得重生后的雪諾處決掉的幾條叛亂者的性命,而是私生子戰(zhàn)役中,被堆成小山包似的尸首,是龍母御駕親征時,被熊熊烈焰燒成灰燼的蘭尼斯特大軍,更是寒冬降臨之后,無數(shù)死于饑寒的平民。

  只有戰(zhàn)爭和凜冬帶來的災難才能與這樣的GC相提并論。

  新生代中的對象顛沛流離,從一個區(qū)域被轉至另一個區(qū)域,更要面臨著隨時被干掉的危險,老王由此想到了斯塔克家的兩個女孩,一個在維斯特大陸輾轉流離,一個在自由城邦——一片完全陌生的土地上歷經磨難,過著朝不保夕的生活。

老年代

 可是,一旦躲過了這樣的災難,在這樣的災難下艱難地挺了過來的人,將會變得更加強大。臨冬城史塔克家的幾個孩子有的經不住考驗掛了,有的歷經磨難活了下來。拜拉席恩家的幾個男性繼承人不堪一擊,反而色后出色地活了下來,并且登上了鐵王座。

  新生代中那些僥幸躲過15次GC的Java對象終于進入了老年代,一旦進了老年代的門,它們是不會那么容易就“死掉”了的,做一次 Full GC 要比進行一次 Minor GC 的時間更長。

  例如二丫如果想刺殺色后,必得費一番功夫。二丫和三傻也沒有人能將她們輕易殺死,除非夜王領著他的異鬼大軍舉兵南下,那時無人幸免。

  也不是非得經過層層磨難才可以存活下來,JVM中的一些大對象在創(chuàng)建之初就被直接扔進了老年代,比如String字符串。

  龍母就是這樣的大對象,她生來不凡,“風暴降生”的名號可不是浪得虛名,何況她浴火重生,整個維斯特大陸都在等著她去收復呢!她要是掛了,誰去和色后爭奪鐵王座?雪諾也是一樣,誰叫他是“預言中的王子”呢!

永久代

  姑且把夜王和他的異鬼大軍放在這里吧,原因有二,一是永久代比較特殊,它存放的是程序需要的應用元數(shù)據(jù)而非對象,二是永久并不代表永久不死。

  異鬼不是人類,而且他們雖然不會生老病死,但是同樣會死于火焰、龍晶和守夜人的刀劍之下。相比與維斯特大陸和狹海對岸的死亡,異鬼中的死亡并沒有給老王留下什么深刻的印象,死了誰都是一個樣。

  無論是老年代還是永久代中的對象都不是安全的,因為“凡人皆有一死”,只不過何時死并不知道,因為JVM銷毀對象是隨機的,不可預測的。就好比躲過前七季的死亡、順利活到第八季的人物誰死誰活也是不確定的,只有作者喬治·馬丁知道。

  那么問題來了,你覺得終結季里哪些角色會躲過一劫而頑強地活下來呢?

版權聲明:本文Java在權力的游戲里能活到第幾集_中博培訓學校: http://www.hbhczsgc.com/kczx/153.html 禁止一切方式轉載、抄襲!

更多人關注:

在南京學好H5容易找工作嗎?   H5是萬維網的核心語言,也是超文本標記語言??梢哉f是一...
UI設計是不是比較適合女生學?   移動互聯(lián)網的不斷進步,現(xiàn)在的UI設計行業(yè)越發(fā)的火爆,其...
常州中博教育的課程高中生也可以學會嗎   計算機行業(yè)現(xiàn)在有多火,相信大家對現(xiàn)在互聯(lián)網有過了解,...
「南京Java培訓」零基礎自學Java需要多久   Java開發(fā)這么多年依舊很火熱,對于零基礎的同學想要轉行學...

搶免費試聽名額

名額僅剩66名

教育改變生活

WE CHANGE LIVES

南京總校區(qū):南京市雨花臺區(qū)小行路16號,江蘇警官學院內
徐州分校區(qū):徐州市解放南路181號(六中斜對面 )
礦大分校區(qū):徐州市解放南路中國礦業(yè)大學(文昌校區(qū)西校區(qū))
安徽分校區(qū):合肥市包河區(qū)金中環(huán)廣場B座15樓

? CopyRight南京中博職業(yè)技能培訓學校2018      蘇ICP備2023001897號