Java常見面試題之類的加載過程

程序員看似光鮮的就業(yè)前景面前,逃不過的是層層的面試暑始,想要進(jìn)前沿的大公司沒有個五六七八面搭独,是不可能滴!而找工作的首個關(guān)卡就是筆試廊镜,想要獲得高薪工作的小伙伴牙肝,先刷一波面試題吧!

類加載過程主要包含加載嗤朴、驗(yàn)證配椭、準(zhǔn)備、解析雹姊、初始化股缸、使用、卸載七個方面吱雏,下面一一闡述敦姻。

1寺酪、加載

在加載階段,虛擬機(jī)主要完成三件事:

1.通過一個類的全限定名來獲取定義此類的二進(jìn)制字節(jié)流替劈。

2.將這個字節(jié)流所代表的靜態(tài)存儲結(jié)構(gòu)轉(zhuǎn)化為方法區(qū)域的運(yùn)行時數(shù)據(jù)結(jié)構(gòu)。

3.在Java堆中生成一個代表這個類的java.lang.Class對象得滤,作為方法區(qū)域數(shù)據(jù)的訪問入口

2陨献、驗(yàn)證

驗(yàn)證階段作用是保證Class文件的字節(jié)流包含的信息符合JVM規(guī)范,不會給JVM造成危害懂更。如果驗(yàn)證失敗眨业,就會拋出一個java.lang.VerifyError異常或其子類異常沮协。驗(yàn)證過程分為四個階段

1.文件格式驗(yàn)證:驗(yàn)證字節(jié)流文件是否符合Class文件格式的規(guī)范龄捡,并且能被當(dāng)前虛擬機(jī)正確的處理。

2.元數(shù)據(jù)驗(yàn)證:是對字節(jié)碼描述的信息進(jìn)行語義分析慷暂,以保證其描述的信息符合Java語言的規(guī)范聘殖。

3.字節(jié)碼驗(yàn)證:主要是進(jìn)行數(shù)據(jù)流和控制流的分析,保證被校驗(yàn)類的方法在運(yùn)行時不會危害虛擬機(jī)行瑞。

4.符號引用驗(yàn)證:符號引用驗(yàn)證發(fā)生在虛擬機(jī)將符號引用轉(zhuǎn)化為直接引用的時候奸腺,這個轉(zhuǎn)化動作將在解析階段中發(fā)生。

3血久、準(zhǔn)備

準(zhǔn)備階段為變量分配內(nèi)存并設(shè)置類變量的初始化突照。在這個階段分配的僅為類的變量(static修飾的變量),而不包括類的實(shí)例變量氧吐。對已非final的變量讹蘑,JVM會將其設(shè)置成“零值”,而不是其賦值語句的值:

pirvate static int size = 12;

那么在這個階段筑舅,size的值為0座慰,而不是12。 final修飾的類變量將會賦值成真實(shí)的值豁翎。

4角骤、解析

解析過程是將常量池內(nèi)的符號引用替換成直接引用。主要包括四種類型引用的解析心剥。類或接口的解析邦尊、字段解析、方法解析优烧、接口方法解析蝉揍。

5、初始化

在準(zhǔn)備階段畦娄,類變量已經(jīng)經(jīng)過一次初始化了又沾,在這個階段弊仪,則是根據(jù)程序員通過程序制定的計(jì)劃去初始化類的變量和其他資源。這些資源有static{}塊杖刷,構(gòu)造函數(shù)励饵,父類的初始化等。

至于使用和卸載階段階段滑燃,這里不再過多說明役听,使用過程就是根據(jù)程序定義的行為執(zhí)行,卸載由GC完成表窘。

?為了讓學(xué)習(xí)變得輕松典予、高效,今天給大家免費(fèi)分享一套Java教學(xué)資源乐严。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘瘤袖。需要資料的歡迎加入學(xué)習(xí)交流群:9285,05736

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昂验,一起剝皮案震驚了整個濱河市捂敌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凛篙,老刑警劉巖黍匾,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異呛梆,居然都是意外死亡锐涯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門填物,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纹腌,“玉大人,你說我怎么就攤上這事滞磺∩恚” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵击困,是天一觀的道長涎劈。 經(jīng)常有香客問我,道長阅茶,這世上最難降的妖魔是什么蛛枚? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮脸哀,結(jié)果婚禮上蹦浦,老公的妹妹穿的比我還像新娘。我一直安慰自己撞蜂,他們只是感情好盲镶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布侥袜。 她就那樣靜靜地躺著,像睡著了一般溉贿。 火紅的嫁衣襯著肌膚如雪枫吧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天宇色,我揣著相機(jī)與錄音由蘑,去河邊找鬼。 笑死代兵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爷狈。 我是一名探鬼主播植影,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涎永!你這毒婦竟也來了思币?” 一聲冷哼從身側(cè)響起津辩,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤兔跌,失蹤者是張志新(化名)和其女友劉穎割粮,沒想到半個月后银择,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虱肄,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡等曼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年片排,在試婚紗的時候發(fā)現(xiàn)自己被綠了加袋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盯蝴。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡毅哗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捧挺,到底是詐尸還是另有隱情虑绵,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布闽烙,位于F島的核電站翅睛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏黑竞。R本人自食惡果不足惜捕发,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望摊溶。 院中可真熱鬧爬骤,春花似錦、人聲如沸莫换。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至坷剧,卻和暖如春惰爬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惫企。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工撕瞧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狞尔。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓丛版,卻偏偏與公主長得像,于是被迫代替她去往敵國和親偏序。 傳聞我的和親對象是個殘疾皇子页畦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

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