java虛擬機(jī)的運(yùn)行過程

          Posted on 2005-11-28 17:46 nemo 閱讀(594) 評論(0)  編輯  收藏 所屬分類: 編譯器、虛擬機(jī)
           

          java虛擬機(jī)對“運(yùn)行時數(shù)據(jù)區(qū)”的描述是相當(dāng)抽象的。不同的虛擬機(jī)實(shí)現(xiàn)可能具有很不同的內(nèi)存限制,有的實(shí)現(xiàn)可能有大量的內(nèi)存可用,有的可能很少。有的實(shí)現(xiàn)可以利用虛擬內(nèi)存,有的則不能。規(guī)范本身對“運(yùn)行時數(shù)據(jù)區(qū)”只有抽象的描述,這就使得JAVA虛擬機(jī)可以很容易得在各種計算機(jī)和設(shè)備上實(shí)現(xiàn)。

          java虛擬機(jī)沒有寄存器,其指令集使用java棧來存儲中間數(shù)據(jù)。這樣設(shè)計的原因使JAVA虛擬機(jī)的指令集盡量緊湊,同時也便于JAVA虛擬機(jī)在那些只有很少通用寄存器的平臺上實(shí)現(xiàn)。另外,有助于虛擬機(jī)實(shí)現(xiàn)的動態(tài)編譯器和即時編譯的代碼優(yōu)化。

          裝載、連接以及初始化過程:

          1. 裝載——查找并裝載類型的二進(jìn)制數(shù)據(jù)
          2. 連接——執(zhí)行驗(yàn)證,準(zhǔn)備以及解析(可選)

          驗(yàn)證

          確保被倒入類型的正確性。

          準(zhǔn)備

          為類變量分配內(nèi)存,并將其初始化為默認(rèn)值。

          解析

          把類型中的符號引用轉(zhuǎn)換為直接引用。

          1. 初始化——將類變量初始化為正確的初始值

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          posts - 21, comments - 74, trackbacks - 0, articles - 3

          Copyright © nemo

          主站蜘蛛池模板: 北辰区| 恩施市| 龙门县| 楚雄市| 色达县| 福鼎市| 大邑县| 天门市| 平原县| 巴彦淖尔市| 广昌县| 沂源县| 双城市| 台东市| 迁西县| 赤水市| 湖州市| 阜城县| 神农架林区| 嘉兴市| 留坝县| 平山县| 犍为县| 轮台县| 黎城县| 博兴县| 东兴市| 商南县| 新源县| 紫云| 河北省| 宁河县| 迁西县| 达拉特旗| 二连浩特市| 淮滨县| 铁力市| 平潭县| 冀州市| 塔城市| 邵东县|