aaaa成人_日本一道本在线视频_国产高潮流白浆喷水在线观看_韩国专区福利一区二区_一区二区不卡视频_看全色黄大色黄大片女图片第一次

×
新網 > 虛擬主機 > 正文

簡述JVM基礎(五):虛擬機類加載機制

  • 作者:新網
  • 來源:新網
  • 瀏覽:100
  • 2018-05-03 18:00:18

我們一定心里有個疑問,我們那個多態是怎么回事?我們指定的一個接口,卻可以等到運行時可以對應于不同的實現類。所以,我們通過編譯器將我們寫的Java文件代碼編譯成Class文件,程序跑起來的時候通過加載器。

   1487903609904368.jpg

<div>        我們一定心里有個疑問,我們那個多態是怎么回事?我們指定的一個接口,卻可以等到運行時可以對應于不同的實現類。所以,我們通過編譯器將我們寫的Java文件代碼編譯成Class文件,程序跑起來的時候通過加載器。
  加載過程
        1、 加載(loading)
  2、 連接
  (1)、 驗證
  (2)、準備:為類變量分配內存并設置初始值(如int為0)。
  (3)、解析:
  3、初始化
  4、 使用
  5、 卸載
  類加載器
  1、唯一性
  對于任何一個類,都需要和這個類的加載器與這個類共同確定在Java虛擬機中的唯一性,這里說的唯一性指的是"相等",也就是我們平時說的Class對象的equals()、isAssiganableFrom()、isInstance()方法的返回結果;
  2、雙親委派模型
  當一個類的加載器收到了加載請求,不會自己先動手,而是委派給這個類的父類進行加載,如果找不到加載不了就反饋回來自己加載。這樣的話,讓Java的類一出生就有了很好的層次父子關系。當然也有一些手段去破壞這種關系而獲得某種效果。
  雙親委派模型可以被破壞,推薦重寫findClass()方法,而不是loadClass(),應用于熱部署等技術;
我們通過編譯器先將我們寫的.java代碼編譯為可執行的.class文件,那么如果我們需要真正的執行這個代碼,還需要一個過程。這個時候加載器的角色就來了,加載器將首先要加載可執行文件,并變換數據結構。在初始化之前,我們還需要進行驗證和準備。解析的過程可以在初始化之前,也可以在初始化之后(實現動態加載的時候-)。觸發初始化的條件有幾種,分為被動引用和主動引用兩大類。我們可以理解為主動引用是我們主動的觸發了本Class的初始化,比如New 這個對象的實例。 
但是,也存在我們在本類中引用到了其他的類,比如說父類,其他類的常量。如果,我們的操作不是上述的主動引用,其結果是沒有觸發本Class的初始化,而是間接的觸發了別的Class進行初始化工作。我們稱這個為被動引用。對于任何一個類,我們通過類和這個類的加載器共同確定在JVM中的唯一性,為了保證父類和子類的層次關系。我們在有需求觸發子類的初始化時,必須先完成父類的初始化工作,一直向上追溯,從上到下依次完成初始化。這就是所謂的雙親委派模型。
雙親委派模型也是可以被破壞的,在熱部署技術中有應用。
 

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

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 国产女人18毛片水真多1 | 1024在线观看国产天堂 | 国产探花一区二区 | 加勒比色老久久爱综合网 | 国产AV国片精品有毛 | 亚洲国产成人久久综合人 | 高清dvd碟片生活片 写作业写着写着就插了视频 | 日本一区二区免费在线播放 | 手机在线黄色网址 | av在线色 | 久久亚洲国产精品五月天婷 | 伊人75在线| 男男GV白嫩小受GV在线播放 | 久久99亚洲精品久久99果 | 久久a级片| 人妻一本久道久久综合久久鬼色 | 一级黄色特级片 | 清纯女学生强制中出在线观看 | 欧美色就插| 亚洲一级在线看 | 亚洲乱色熟女一区二区三区 | 91福利网站在线观看 | 91超碰caoporm国产香蕉 | 国内视频2区 | 中文字幕亚洲精品无码 | 色av综合在线 | 国产女人高潮抽搐叫床视频 | 极品束缚调教一区二区网站 | 国产精品乱码一区二区 | av线网| 国产一区二区野外 | 一级片黄色一级片 | 欧美视频a | 日韩精品一区二区三区中文无码 | 国产日韩欧美在线一区 | 91女神在线视频 | 精品一区欧美 | 宁安如梦40集免费观看 | 成人午夜福利视频网址 | 国产精品三级 | 97免费视频在线观看 |