<option id="mwy0y"><strong id="mwy0y"></strong></option>
  • <ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <ul id="mwy0y"></ul>
  • <del id="mwy0y"><dfn id="mwy0y"></dfn></del><ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <abbr id="mwy0y"></abbr>

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:長沙千鋒IT培訓  >  面試技巧  >  哪些常見Java面試題你知道嗎?

    哪些常見Java面試題你知道嗎?

    來源:千鋒教育
    發布人:千鋒長沙老師
    時間: 2019-01-03 16:34:16

      程序員看似光鮮的就業前景面前,逃不過的是層層的面試,而面試首個關卡就是筆試,想要獲得高薪工作的小伙伴,今天就跟隨千鋒長沙Java培訓老師一起來看看關于那些常見的Java面試題目——類的加載過程。

    圖片1

      類加載過程主要包含加載、驗證、準備、解析、初始化、使用、卸載七個方面,下面一一闡述。

      一、加載

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

      1.通過一個類的全限定名來獲取定義此類的二進制字節流。

      2.將這個字節流所代表的靜態存儲結構轉化為方法區域的運行時數據結構。

      3.在Java堆中生成一個代表這個類的java.lang.Class對象,作為方法區域數據的訪問入口

      二、驗證

      驗證階段作用是保證Class文件的字節流包含的信息符合JVM規范,不會給JVM造成危害。如果驗證失敗,就會拋出一個java.lang.VerifyError異常或其子類異常。驗證過程分為四個階段

      1.文件格式驗證:驗證字節流文件是否符合Class文件格式的規范,并且能被當前虛擬機正確的處理。

      2.元數據驗證:是對字節碼描述的信息進行語義分析,以保證其描述的信息符合Java語言的規范。

      3.字節碼驗證:主要是進行數據流和控制流的分析,保證被校驗類的方法在運行時不會危害虛擬機。

      4.符號引用驗證:符號引用驗證發生在虛擬機將符號引用轉化為直接引用的時候,這個轉化動作將在解析階段中發生。

      三、準備

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

      pirvate static int size = 12;

      那么在這個階段,size的值為0,而不是12。 final修飾的類變量將會賦值成真實的值。

      四、解析

      解析過程是將常量池內的符號引用替換成直接引用。主要包括四種類型引用的解析。類或接口的解析、字段解析、方法解析、接口方法解析。

      五、初始化

      在準備階段,類變量已經經過一次初始化了,在這個階段,則是根據程序員通過程序制定的計劃去初始化類的變量和其他資源。這些資源有static{}塊,構造函數,父類的初始化等。

      至于使用和卸載階段階段,這里不再過多說明,使用過程就是根據程序定義的行為執行,卸載由GC完成。

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    猜你喜歡LIKE

    最新文章NEW

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>