<samp id="tdkee"></samp>

    <mark id="tdkee"><acronym id="tdkee"></acronym></mark>

  1. 免费看又黄又无码的网站_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片_日本最新免费二区三区

    ×

    虛擬機中類的加載機制簡介

    • 作者:新網(wǎng)
    • 來源:新網(wǎng)
    • 瀏覽:100
    • 2018-05-04 15:27:03

    虛擬機把描述類的數(shù)據(jù)從Class文件加載到內(nèi)存,并對數(shù)據(jù)進行校驗、轉(zhuǎn)換解析和初始化,最終形成呢個可以唄虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。

       002UASMrzy7605pjKJv15&690.jpg

    <div>  虛擬機把描述類的數(shù)據(jù)從Class文件加載到內(nèi)存,并對數(shù)據(jù)進行校驗、轉(zhuǎn)換解析和初始化,最終形成呢個可以唄虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。
      生命周期
      加載、驗證、準備、解析、初始化、使用和卸載
      何時加載?
      有且只有:
      a.遇到new、getstatic、putstatic或invokestatic這4條字節(jié)碼指令時,如果沒有初始化,則觸發(fā)起初始化(new 實例化對象,讀取或設置一個靜態(tài)(final修飾)字段,以及調(diào)用一個類的靜態(tài)方法)
      b.使用 java.lang.reflect包的方法對類進行反射調(diào)用的時候,如果類沒有進行初始化,則初始化
      c.當初始化一個類的時候,如果發(fā)現(xiàn)其父類還沒進行初始化,則初始化
      d.當虛擬機啟動時,用戶指定一個要指定一個要執(zhí)行的主類,虛擬機會先初始化這個主類
      e.當使用1.7的動態(tài)語言支持時,如果一個java.lang.invoke.MethomdHandle實例最后的解析結果REF_getStatic、REF_putStatic、Ref_invokeStatic的方法句柄,并且這個方法句柄所對應的類
      沒有進行過初始化
      4.類加載過程
      a).加載
      i).通過一個類的全限定名來獲取定義此類的二進制字節(jié)流
      ii).將這個字節(jié)流所代表的靜態(tài)存儲結構轉(zhuǎn)化為方法去的運行時數(shù)據(jù)結構。
      iii).在內(nèi)存中生成一個代表這個類的Classduixiang,作為方法區(qū)這個類的各種數(shù)據(jù)的訪問入口
      備注:數(shù)組的加載過程
      i).如果數(shù)組的組件類型是引用類型,那就遞歸加載這個組件類i系那個,數(shù)組C將在家在該組件類型的類加載器的類名稱空間上被標識
      ii).如果數(shù)組的組件不是引用類型(int[]),jvm將會把數(shù)組C標記為與引導類加載器關聯(lián)
      iii).數(shù)組類的可見性與它的組建類型的可見性一致,如果組件類型不引用類型,那數(shù)組類的可見性將默認為public
      b).驗證
      i).文件格式驗證
      是否以模數(shù)0xCAFEBABE開頭
      常量池的常量中是否有不被支持的常量類型
      ii).元數(shù)據(jù)驗證
      類是否有父類
      類的父類是否繼承了不允許被繼承的類(final修飾)
      若這個類不是抽象類,是否實現(xiàn)父類或接口要求實現(xiàn)的所有函數(shù)
      類中字段、方法是否與父類產(chǎn)生矛盾
      iii).字節(jié)碼驗證
      iiii).符號引用驗證
      c).準備
      是正式為類變量分配內(nèi)存并設置類變量初始值的階段,這些類變量都將在方法去中進行分配。容易混淆的地方:首先這個時候進行內(nèi)存分配的僅包括類變量,不包括實例變量,實例變量將會在對象實例化時隨著對象一起分配在java堆中
      d).解析
      是jvm將常量池內(nèi)的符號引用替換為直接引用的過程
      i).類或接口的解析
      ii).字段解析
      iii).類方法解析
      iiii).接口方法解析
      e).初始化
      最后一步。初始化是執(zhí)行類構造器()方法的過程。
     

    免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,也不承認相關法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進行舉報,并提供相關證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

    免費咨詢獲取折扣

    Loading
    国产精品视频白浆免费视频_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片

    <samp id="tdkee"></samp>

      <mark id="tdkee"><acronym id="tdkee"></acronym></mark>