發(fa)布時間:2018-07-29 12:06??發(fa)布人(ren):南(nan)京(jing)北(bei)大(da)青鳥(niao)??發(fa)布來源:南(nan)京(jing)北(bei)大(da)青鳥(niao)??瀏覽(lan)人(ren)數:185
自第一季伊始,眼看著一個個人(ren)(ren)物(wu)華麗麗地(di)登場(chang)了,當(dang)然(ran)其中也有灰溜溜地(di)出場(chang)的,安達爾(er)人(ren)(ren)、先民、森林之(zhi)子、瓦力亞人(ren)(ren)、多(duo)斯拉克人(ren)(ren),人(ren)(ren)物(wu)多(duo)得讓人(ren)(ren)眼花繚亂,還(huan)有三(san)條巨龍。
而作為面向對(dui)(dui)象(xiang)(xiang)的(de)編(bian)程語言,整個Java開發(fa)就是(shi)圍繞對(dui)(dui)象(xiang)(xiang)進行的(de),每個程序(xu)都要(yao)創造(zao)許多(duo)大大小小、各(ge)種各(ge)樣的(de)對(dui)(dui)象(xiang)(xiang)。這么多(duo)對(dui)(dui)象(xiang)(xiang)如(ru)果一直存(cun)活(huo)著,是(shi)非常占據內存(cun)的(de),勢必要(yao)造(zao)成資源的(de)白(bai)白(bai)浪費(fei),所以放在JVM中(zhong)的(de)對(dui)(dui)象(xiang)(xiang)免不了“凡人皆有一死(si)(si)(si)”。究竟怎(zen)么個死(si)(si)(si)法?被(bei)毒(du)死(si)(si)(si)被(bei)射(she)死(si)(si)(si)被(bei)砍頭被(bei)割(ge)喉被(bei)燒死(si)(si)(si)被(bei)血影殺(sha)死(si)(si)(si)?都不是(shi)。
大(da)(da)部(bu)分Java對象剛被創(chuang)造出(chu)來的(de)時(shi)候就被放置在(zai)了這(zhe)里,它們自(zi)己并(bing)不知(zhi)道(dao)日后(hou)的(de)命(ming)(ming)運(yun),就像維斯特和呃索斯大(da)(da)陸(lu)上被創(chuang)造的(de)無數生命(ming)(ming)并(bing)不知(zhi)道(dao)自(zi)己何時(shi)會死亡(wang)一樣。
新生代中的(de)對象們安(an)安(an)靜(jing)靜(jing)地(di)等待(dai)著(zhu)(zhu)程序(xu)的(de)調遣,然后本本分分地(di)發揮著(zhu)(zhu)自(zi)己的(de)作用(yong),正如北境的(de)小姐懷著(zhu)(zhu)她的(de)王(wang)后夢(meng)坐在(zai)壁(bi)爐(lu)前安(an)靜(jing)地(di)做著(zhu)(zhu)刺(ci)繡,英俊的(de)騎士與(yu)愛人在(zai)快活地(di)調著(zhu)(zhu)情,慈愛的(de)母親懷著(zhu)(zhu)身孕參(can)加一場浪漫的(de)婚禮,誰能想到(dao)自(zi)己即將成為無辜的(de)冤魂呢(ni)?
Java對象們(men)(men)也(ye)不(bu)知道,它們(men)(men)并不(bu)知道老(lao)王何(he)時會在(zai)程序中(zhong)丟(diu)棄(qi)它們(men)(men),老(lao)王也(ye)不(bu)知道將它們(men)(men)丟(diu)棄(qi)后,死神一般的(de)垃(la)圾回收器(qi)何(he)時會找(zhao)到它們(men)(men)。
JVM毫無預備地發起了一(yi)次(ci)(ci)Minor GC,不少對象被消亡了,奈德·史塔克(ke)和(he)勞勃國王這對曾經(jing)的(de)好基友就死于這次(ci)(ci)GC,一(yi)言不合被安(an)排(pai)領了便當。
活下(xia)來(lai)的對(dui)象(xiang)被JVM從Eden區轉移到(dao)了(le)Survivor 區,然后歷經(jing)一次又一次的Minor GC,15次(默認進入老(lao)年(nian)代的值,可(ke)以通(tong)過參數–XX : Max Tenuring Threshold 來(lai)設定)之后,80%以上的對(dui)象(xiang)都(dou)死了(le)。
這是什么概念(nian)?
放在權力(li)的(de)(de)游戲中,可不(bu)(bu)是(shi)小惡魔把他的(de)(de)父親射死在馬桶(tong)上,然后(hou)勒死自(zi)己(ji)的(de)(de)情婦那么簡單,加起來就兩(liang)條(tiao)人(ren)命,也不(bu)(bu)是(shi)獲(huo)得重(zhong)生后(hou)的(de)(de)雪諾處(chu)決掉的(de)(de)幾條(tiao)叛亂者的(de)(de)性命,而是(shi)私生子戰役(yi)中,被堆(dui)成小山包(bao)似的(de)(de)尸首,是(shi)龍母御(yu)駕親征(zheng)時,被熊(xiong)熊(xiong)烈焰(yan)燒(shao)成灰燼的(de)(de)蘭尼斯特大軍(jun),更是(shi)寒冬降臨之后(hou),無數死于(yu)饑(ji)寒的(de)(de)平民。
只有戰爭和(he)凜冬帶來的災難才能與這樣的GC相提并論(lun)。
新生(sheng)代中(zhong)的對象顛沛流(liu)離(li),從(cong)一個(ge)(ge)(ge)區(qu)(qu)域(yu)被轉至(zhi)另(ling)一個(ge)(ge)(ge)區(qu)(qu)域(yu),更要面臨(lin)著(zhu)隨時被干掉(diao)的危險(xian),老王由(you)此想到(dao)了斯塔(ta)克家的兩個(ge)(ge)(ge)女孩,一個(ge)(ge)(ge)在維斯特大陸輾轉流(liu)離(li),一個(ge)(ge)(ge)在自由(you)城邦——一片完全陌生(sheng)的土地上歷經磨難(nan),過(guo)著(zhu)朝不保夕的生(sheng)活。
可是,一旦躲過(guo)了(le)(le)(le)這(zhe)樣(yang)的(de)(de)災(zai)難,在(zai)這(zhe)樣(yang)的(de)(de)災(zai)難下艱難地挺了(le)(le)(le)過(guo)來的(de)(de)人(ren),將會變得更加強大。臨冬(dong)城(cheng)史(shi)塔克家的(de)(de)幾個孩子有的(de)(de)經(jing)不住考(kao)驗掛了(le)(le)(le),有的(de)(de)歷經(jing)磨難活(huo)了(le)(le)(le)下來。拜拉席(xi)恩(en)家的(de)(de)幾個男(nan)性繼承人(ren)不堪一擊(ji),反而色(se)后出色(se)地活(huo)了(le)(le)(le)下來,并且登(deng)上了(le)(le)(le)鐵(tie)王座。
新生(sheng)代中那些僥幸躲過15次(ci)GC的(de)Java對象(xiang)終于進(jin)入了(le)(le)老(lao)年(nian)代,一(yi)旦(dan)進(jin)了(le)(le)老(lao)年(nian)代的(de)門,它(ta)們是不會那么容易(yi)就“死掉”了(le)(le)的(de),做一(yi)次(ci) Full GC 要(yao)比進(jin)行一(yi)次(ci) Minor GC 的(de)時間更長。
例如二丫如果(guo)想刺殺色后,必得費一(yi)番功(gong)夫。二丫和(he)三傻也沒有人(ren)(ren)能將她(ta)們輕易殺死,除非(fei)夜王(wang)領著他(ta)的異鬼大軍舉兵南(nan)下,那時無人(ren)(ren)幸免。
也不(bu)是非得經過層(ceng)層(ceng)磨難(nan)才可以存活下來(lai),JVM中的(de)一些(xie)大對(dui)象在創建之(zhi)初(chu)就被直接扔進(jin)了老年代(dai),比如String字符(fu)串。
龍母就是(shi)(shi)這樣(yang)(yang)的(de)大對象,她(ta)生(sheng)來不凡,“風(feng)暴降生(sheng)”的(de)名(ming)號(hao)可不是(shi)(shi)浪(lang)得(de)虛名(ming),何況她(ta)浴火重生(sheng),整個維斯特大陸都在等著她(ta)去收(shou)復呢!她(ta)要是(shi)(shi)掛了,誰去和色后爭(zheng)奪鐵王座(zuo)?雪(xue)諾也(ye)是(shi)(shi)一樣(yang)(yang),誰叫他(ta)是(shi)(shi)“預言中的(de)王子”呢!
姑且把夜王和他(ta)的異鬼大軍放在這里吧(ba),原因有二,一(yi)是(shi)永久(jiu)代(dai)比較特(te)殊,它存放的是(shi)程序需(xu)要的應用元數據而(er)非(fei)對(dui)象,二是(shi)永久(jiu)并(bing)不代(dai)表永久(jiu)不死。
異鬼不(bu)是(shi)人類,而且他們雖(sui)然不(bu)會生老病死(si),但是(shi)同樣(yang)會死(si)于火焰(yan)、龍(long)晶(jing)和守夜人的(de)刀劍之(zhi)下(xia)。相比(bi)與維斯特(te)大陸和狹(xia)海對岸的(de)死(si)亡,異鬼中的(de)死(si)亡并沒有(you)給老王留下(xia)什么深刻(ke)的(de)印象,死(si)了誰都是(shi)一(yi)個樣(yang)。
無論是老(lao)年代(dai)還是永久(jiu)代(dai)中的(de)(de)對象都不是安全的(de)(de),因(yin)為“凡(fan)人皆有一死(si)”,只不過何(he)時(shi)死(si)并不知道,因(yin)為JVM銷毀(hui)對象是隨機的(de)(de),不可(ke)預測(ce)的(de)(de)。就(jiu)好(hao)比(bi)躲過前七(qi)季(ji)的(de)(de)死(si)亡、順利(li)活(huo)到第八季(ji)的(de)(de)人物誰(shui)死(si)誰(shui)活(huo)也是不確定的(de)(de),只有作者喬治(zhi)·馬丁知道。
那(nei)么問題來了,你覺(jue)得終(zhong)結季里哪些角(jiao)色(se)會躲過(guo)一劫而頑強地活(huo)下來呢?
版權聲明:本文Java在權力的游戲里能活到第幾集_中博培訓學校: //qjdyoipt.cn/kczx/153.html 禁止一切方式轉載、抄襲!
相關內容:
更多人關注:
上一篇:高考分數很低沒前途_學軟件好錢途