• <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
      <ol id="mz5ne"></ol>
    1. <samp id="mz5ne"></samp>
      <mark id="mz5ne"></mark>

        <fieldset id="mz5ne"></fieldset>

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

        ×

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

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

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

           1487903609904368.jpg

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

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

        免費咨詢獲取折扣

        Loading
        国产精品视频白浆免费视频_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片
      1. <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
          <ol id="mz5ne"></ol>
        1. <samp id="mz5ne"></samp>
          <mark id="mz5ne"></mark>

            <fieldset id="mz5ne"></fieldset>
            汪清县| 革吉县| 习水县| 佛教| 赣州市| 三明市| 凤翔县| 四平市| 永顺县| 六枝特区| 大冶市| 正阳县| 淄博市| 焦作市| 东宁县| 双鸭山市| 惠来县| 德庆县| 梁平县| 东丽区| 昌都县| 武夷山市| 沙河市| 温宿县| 临湘市| 宝山区| 勃利县| 盱眙县| 清远市| 寻甸| 黑河市| 突泉县| 尤溪县| 大田县| 山东| 凤阳县| 夏河县| 涟水县| 原阳县| 兴业县| 齐河县|