• <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视频一级毛片_日本最新免费二区三区

        ×

        Java虛擬機(jī)深入研究

        • 作者:新網(wǎng)
        • 來(lái)源:新網(wǎng)
        • 瀏覽:100
        • 2018-05-09 14:36:31

        之前對(duì)虛擬機(jī)的各個(gè)部分進(jìn)行了比較詳細(xì)的說(shuō)明,下面通過(guò)一個(gè)具體的例子來(lái)分析它的運(yùn)行過(guò)程。虛擬機(jī)通過(guò)調(diào)用某個(gè)指定類(lèi)的方法main啟動(dòng),傳遞給main一個(gè)字符串?dāng)?shù)組參數(shù),使指定的類(lèi)被裝載,同時(shí)鏈接該類(lèi)所使用的其它的類(lèi)型,并且初始化它們。例如對(duì)于程序:

           之前對(duì)虛擬機(jī)的各個(gè)部分進(jìn)行了比較詳細(xì)的說(shuō)明,下面通過(guò)一個(gè)具體的例子來(lái)分析它的運(yùn)行過(guò)程。虛擬機(jī)通過(guò)調(diào)用某個(gè)指定類(lèi)的方法main啟動(dòng),傳遞給main一個(gè)字符串?dāng)?shù)組參數(shù),使指定的類(lèi)被裝載,同時(shí)鏈接該類(lèi)所使用的其它的類(lèi)型,并且初始化它們。例如對(duì)于程序:

        0b5f82a822e5c75af81279e3c400f493.jpg

        <div>  class HelloApp
          {
          public static void main(String[] args)
          {
          System.out.println("Hello World!");
          for (int i = 0; i < args.length; i++ )
          {
          System.out.println(args[i]);
          }
          }
          }
          編譯后在命令行模式下鍵入: java HelloApp run virtual machine
          將通過(guò)調(diào)用HelloApp的方法main來(lái)啟動(dòng)java虛擬機(jī),傳遞給main一個(gè)包含三個(gè)字符串"run"、"virtual"、"machine"的數(shù)組。現(xiàn)在我們略述虛擬機(jī)在執(zhí)行HelloApp時(shí)可能采取的步驟。
          開(kāi)始試圖執(zhí)行類(lèi)HelloApp的main方法,發(fā)現(xiàn)該類(lèi)并沒(méi)有被裝載,也就是說(shuō)虛擬機(jī)當(dāng)前不包含該類(lèi)的二進(jìn)制代表,于是虛擬機(jī)使用ClassLoader試圖尋找這樣的二進(jìn)制代表。如果這個(gè)進(jìn)程失敗,則拋出一個(gè)異常。類(lèi)被裝載后同時(shí)在main方法被調(diào)用之前,必須對(duì)類(lèi)HelloApp與其它類(lèi)型進(jìn)行鏈接然后初始化。鏈接包含三個(gè)階段:檢驗(yàn),準(zhǔn)備和解析。檢驗(yàn)檢查被裝載的主類(lèi)的符號(hào)和語(yǔ)義,準(zhǔn)備則創(chuàng)建類(lèi)或接口的靜態(tài)域以及把這些域初始化為標(biāo)準(zhǔn)的默認(rèn)值,解析負(fù)責(zé)檢查主類(lèi)對(duì)其它類(lèi)或接口的符號(hào)引用,在這一步它是可選的。類(lèi)的初始化是對(duì)類(lèi)中聲明的靜態(tài)初始化函數(shù)和靜態(tài)域的初始化構(gòu)造方法的執(zhí)行。一個(gè)類(lèi)在初始化之前它的父類(lèi)必須被初始化。整個(gè)過(guò)程如下:
          
          本文通過(guò)對(duì)JVM的體系結(jié)構(gòu)的深入研究以及一個(gè)Java程序執(zhí)行時(shí)虛擬機(jī)的運(yùn)行過(guò)程的詳細(xì)分析,意在剖析清楚Java虛擬機(jī)的機(jī)理。

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

        免費(fèi)咨詢(xún)獲取折扣

        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>
            库车县| 龙川县| 江都市| 望江县| 喀喇| 曲阜市| 重庆市| 普定县| 张家口市| 湄潭县| 宁安市| 雷州市| 且末县| 常山县| 长白| 西峡县| 灵台县| 乐业县| 崇信县| 蓬溪县| 郁南县| 航空| 富宁县| 龙胜| 西藏| 宜章县| 北安市| 桑日县| 罗甸县| 虞城县| 牙克石市| 兴安县| 边坝县| 浠水县| 罗城| 大悟县| 福建省| 册亨县| 天柱县| 公主岭市| 司法|