99插插插,亚洲伦理中文在线,站长推荐一二三区欧美,青青草在线导航

×

虛擬機(jī)中類的加載機(jī)制簡介

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

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

   002UASMrzy7605pjKJv15&690.jpg

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

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

免費咨詢獲取折扣

Loading
国产日韩在线91p| 黄片日韩欧| 人人看AV免费网站| 亚州成人AV手机在线| 88AV免费视频| 2025亚洲无码在线观看| 熟妇国产视频| 国产亚洲精品五区久久久久久| 好叼妞勉费视频| 在线观看黄色影院| 久久久一区二区三区精| 你懂的一区二区在线视频| 妻少妇一区二区| 蜜臀神久久| 97婷婷操逼视频| 性欧美老熟妇乱熟高清| 日韩一区a片| 黄色小香蕉1级| 色婷婷一二三| 麻豆国在线一区二区三区| 欧美日韩中文字幕一区二区| 少妇富婆一区二区三区夜夜| 精品少妇8B| 色姬阁久久久久| 国产日韩伦理在线| 啊啊啊免费日本三级片阿| 日韩天天射第三十二夜| 免费啪啪啪一区二区v| 91无码热| 老司机av无码一区| 韩国一区欧美一区日韩| 日韩一本大道专区视频| 久久久久一级二级| xxx欧美国产乱伦综合有声| 开心五月色婷婷| 日B试频免费看| 日韩精品日韩激情日韩综合| 亚洲另类欧美日韩| 国V在线视频| 看欧美一级图片| 日韩亚洲欧美一二区|