<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    樂在其中

    以JEE為主攻,以Flex為點(diǎn)綴,以Eclipse RCP為樂趣
    請(qǐng)?jiān)L問http://www.inframesh.org

    首頁 新隨筆 聯(lián)系 管理
      43 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

     
       Java Virtual Machine 就是指Java虛擬器,以下簡稱VM.關(guān)于VM的概念,最早出自CPU模擬器,眾所周知的PC上的游戲機(jī)模擬器采用的便是和Java VM類似的技術(shù).java source code被編譯成byte code后,其實(shí)已經(jīng)是很類似機(jī)器代碼了,只不過沒有真正能運(yùn)行這類code的CPU而已,于是為了能達(dá)到在不同平臺(tái)上運(yùn)行的目的,VM的概念被大力推廣. 從簡單的角度說,VM其實(shí)就是把java bytecode 翻譯成特定的機(jī)器代碼, 這和解釋型編程語言不同,我們會(huì)在下面講到.
       第一代的VM大多采用直接解釋的方法,也就是說一句一句地把bytecode翻譯成機(jī)器代碼. 但這里有個(gè)缺點(diǎn),如遇到循環(huán), VM就不得不一次次重復(fù)翻譯已經(jīng)被翻譯過的代碼. 而每一次翻譯均需消耗一定的cpu時(shí)間. 于是出現(xiàn)了第二代的VM - JIT (Just In Time Compiler)它只在bytecode需要被翻譯時(shí)才做翻譯工作.怎么實(shí)現(xiàn)呢? 打個(gè)比方,JIT VM可以事先把一段bytecode翻成machine code,并把這段code放進(jìn)buffer, 當(dāng)運(yùn)行循環(huán)是,就反復(fù)調(diào)用這段翻譯好的代碼! JIT的效率取決于他分析重復(fù)調(diào)用的本領(lǐng),把翻譯的工作量限制到最小,以便讓出CPU時(shí)間來運(yùn)行程序邏輯.
       第三代的VM叫hotspot,我們以后做介紹.
       有了VM以后等于有了一個(gè)虛擬的CPU, 但我們還需要一定的外部設(shè)備來幫助完成計(jì)算任務(wù),于是出現(xiàn)了JNI, 它的作用在不同的場合有不同的含義. 有時(shí)你可一用JNI直接寫一個(gè)設(shè)備驅(qū)動(dòng)程序, 有時(shí)JNI可被作為lightweight wrapper來封裝本地系統(tǒng)的資源.再加上Java本身提供的標(biāo)準(zhǔn)庫,VM提供了再多平臺(tái)應(yīng)用的環(huán)境!在一個(gè)系統(tǒng)中JVM往往不是唯一的, 如果你在win32中安裝了JDK,IE和Netscape,哪很有可能你已經(jīng)有了三種不同的Virtual Machine. 至于你的程序在那個(gè)VM上運(yùn)行,完全取決于你系統(tǒng)的設(shè)置. 大體上如果是運(yùn)行applet,那么browser的VM會(huì)成為默認(rèn)的平臺(tái). 當(dāng)然你可以用jdk的plug-in取代IE的MS JVM.
       每臺(tái)win32系統(tǒng)都包含了一個(gè)MS implement的VM,如果安裝了Java SDK哪你就可以用jview來從command line啟動(dòng)VM process. 你可以在一臺(tái)電腦上同時(shí)運(yùn)行幾個(gè)同種或不同種的VM, 每一個(gè)都會(huì)運(yùn)行在獨(dú)立process中.
      下面是一些系統(tǒng)的屬性,你可以從中獲得關(guān)于VM的一些訊息!
      用 System.getProperty(String propertyName)
      properyName: 含義:
      -----------------------------------------------------
      java.version - JRE version
      java.vendor - JRE vendor
      java.vendor.url - Vendor URL
      java.home - Installation directory
      java.vm.specification.version - JVM 標(biāo)準(zhǔn)的版本
      java.vm.specification.vendor - JVM 標(biāo)準(zhǔn)的開發(fā)商
      java.vm.specification.name -
      java.vm.version - JVMachine implementation version:
      java.vm.vendor - JVM implementation vendor
      java.vm.name - JVM implementation name
      java.specification.version - JRE specification version
      java.specification.vendor - JRE specification vendor
      java.specification.name - JRE specification name:
      java.class.version - Class format version number:
      java.class.path - Java CLASSPATH

    posted on 2009-03-08 15:38 suprasoft Inc,. 閱讀(169) 評(píng)論(0)  編輯  收藏 所屬分類: J2EE
    ©2005-2008 Suprasoft Inc., All right reserved.
    主站蜘蛛池模板: 日韩在线看片免费人成视频播放| 日韩中文字幕免费视频| 日本高清免费aaaaa大片视频| 亚洲电影在线播放| 亚洲黄色免费观看| 91亚洲国产成人久久精品 | 亚洲夂夂婷婷色拍WW47| 青草草色A免费观看在线| 亚洲入口无毒网址你懂的| 啦啦啦高清视频在线观看免费| 亚洲成年网站在线观看| 女人18毛片水真多免费看| 亚洲成a人片在线不卡一二三区 | 国产情侣激情在线视频免费看| 亚洲国产情侣一区二区三区| free哆啪啪免费永久| 亚洲中文无码亚洲人成影院| 国产乱弄免费视频| kk4kk免费视频毛片| 中文字幕亚洲激情| 免费国产黄网站在线观看可以下载| 亚洲综合精品一二三区在线| 日韩在线免费视频| 国产偷国产偷亚洲高清在线| 久久精品国产精品亚洲下载| 99精品视频免费在线观看| 激情内射亚洲一区二区三区爱妻 | 午夜精品射精入后重之免费观看| 久久久无码精品亚洲日韩蜜桃| 4虎永免费最新永久免费地址| 亚洲国产精品无码中文lv| 亚洲色欲久久久久综合网| 十九岁在线观看免费完整版电影| 亚洲人成www在线播放| 亚洲AV无码一区二三区 | 美女巨胸喷奶水视频www免费| 成年女人喷潮毛片免费播放| 亚洲嫩草影院在线观看| 国产一区二区三区免费视频| 中文字幕在线免费观看视频| 亚洲啪啪免费视频|