java虛擬機的運行過程

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

          java虛擬機對“運行時數據區”的描述是相當抽象的。不同的虛擬機實現可能具有很不同的內存限制,有的實現可能有大量的內存可用,有的可能很少。有的實現可以利用虛擬內存,有的則不能。規范本身對“運行時數據區”只有抽象的描述,這就使得JAVA虛擬機可以很容易得在各種計算機和設備上實現。

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

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

          1. 裝載——查找并裝載類型的二進制數據
          2. 連接——執行驗證,準備以及解析(可選)

          驗證

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

          準備

          為類變量分配內存,并將其初始化為默認值。

          解析

          把類型中的符號引用轉換為直接引用。

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

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


          網站導航:
           

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

          Copyright © nemo

          主站蜘蛛池模板: 澳门| 惠水县| 建湖县| 油尖旺区| 泰和县| 宁明县| 治多县| 开鲁县| 丰镇市| 英超| 英吉沙县| 斗六市| 沙湾县| 万源市| 珠海市| 宝山区| 福海县| 南城县| 大化| 松滋市| 承德县| 大新县| 闻喜县| 新化县| 永和县| 合川市| 承德县| 桐庐县| 石台县| 巴青县| 馆陶县| 锡林郭勒盟| 措美县| 白银市| 门头沟区| 基隆市| 聂拉木县| 武隆县| 剑川县| 佛山市| 长岭县|