亚洲综合在线一区二区三区-日韩超碰人人爽人人做人人添-麻豆国产精品久久人妻-无码人妻丰满熟妇啪啪-天堂精品一区二区三区-99久久综合狠狠综合久久aⅴ

×
新網 > 虛擬主機 > 正文

虛擬機類加載

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-15 14:27:40

什么叫做類加載?虛擬機需要把類的數據從Class文件加載到內存中,并對數據進行校驗,轉換解析初始化。最終成為虛擬機認識的java類型的過程就叫做類加載。

   什么叫做類加載?虛擬機需要把類的數據從Class文件加載到內存中,并對數據進行校驗,轉換解析初始化。最終成為虛擬機認識的java類型的過程就叫做類加載。

2-160Q0111130B2.jpg

<div>  類加載生命周期:類加載到虛擬機中到最后卸載:加載-驗證-準備-解析-初始化-使用-卸載七個階段。
  加載是類加載的第一個階段,虛擬機需要完成三件事。
  1:通過類的全路徑獲取獲取定義此類的二進制流。
  2:把這個字節流的靜態存儲結構轉換為方法區的運行運行時數據結構。
  3:在內存中生成一個代表這個類的java.lang.Class對象。作為方法區訪問這個類數據結構的入口
  由于規范并沒有嚴格的要求所以實現的方式就更加靈活了。我們可以通過jar,ear,war包等格式中獲取也可以通過JSP生成class文件、反射等。
  驗證:就是字面意思驗證class文件是否是安全的。
  1、文件格式的驗證:是否魔數開頭,是否包含版本信息。當前虛擬機是否支持當前版本。常量池中的數據是否存在異常等
  2、元數據驗證:主要針對類和類的屬性。驗證字節碼的語義是否正確,是否非法繼承等。
  3、字節碼驗證:主要針對方法內部:,驗證語義、邏輯等
  4、符號引用驗證:驗證符號引用中全路徑能否找到對應的類。指定類中是否包含使用的方法、字段。當前調用方法是否允許調用等
  準備階段:分配類變量內存(方法區),并初始化需要注意當前初始化僅僅為static修飾的變量比如 public static int val = 2;
    將被初始化:需要注意的是初始化的結果是0。但是也并不是任何情況都是變量的初始化。
   解析過程就是上面提過的符號引用轉換為直接引用。解析過程中也許會觸發新的類加載。
  類的初始化是類加載的最后一步。在準備的階段變量已經初始化過了系統默認的值,單前階段則為程序中賦予的值。
  提過虛擬機來看當前階段執行的為類構造器();它是由編譯器自動收集類變量賦值動作和靜態語句塊中的語句合并產生的。收集的順序為源文件中出現的順序。靜態語句塊只能訪問到定義在靜態塊之前的變量。定義在之后的可以賦值,但是不可以訪問。
  它不需要顯示的調用父類的構造器。虛擬機會保證在子類之前執行。

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

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 亚洲国产成人久久精品软件| 日本丰满的人妻hd高清在线| 亚洲性色av性色在线观看| 亚洲中文字幕无码日韩精品 | 伦埋琪琪电影院久久| 99热精这里只有精品| 成人免费777777被爆出| 亚洲成a人片在线观看无码专区 | 鲁鲁网亚洲站内射污| 国产在线线精品宅男网址| 国产成人综合亚洲欧美日韩| 中文字幕在线观看亚洲日韩| 国产精品国产对白熟妇| 大肉大捧一进一出好爽动态图| 国产互换人妻xxxx69| 熟妇高潮一区二区三区| 成人内射国产免费观看| 妺妺窝人体色www聚色窝| 国产精品福利视频导航| 亚洲综合色在线观看一区| 亚洲国产精华液网站w| 人妻中出一区二区| 精品无码国产自产野外拍在线| 国产精品白丝av网站在线观看| 台湾无码av一区二区三区| 欧美老熟妇乱子伦视频| 老熟女hdxx老小配| 女人被狂躁c到高潮喷水一区二区 女人被狂躁c到高潮视频 | 国产精品爽爽ⅴa在线观看| 人妻人人澡人人添人人爽人人玩| 国产无遮挡又黄又爽高潮| 一区二区三区中文字幕| 婷婷色香五月综合缴缴情| 久欠精品国国产99国产精2021| 国产精品自在自线视频| 亚洲理论电影在线观看| 亚洲 卡通 欧美 制服 中文| 少妇裸体性生交| 成人免费视频一区二区| 亚洲国产另类精品| 美女福利视频一区二区三区 |