Java虛擬機器(virtual machine)是由昇陽公司提出的一種支援Java程式 語言的執行環境,具有嚴格安全檢查,跨平台支援等優點。當時昇陽公司 以Java語言發展HotJava WWW Browser來展示Java程式和Applet,結果在 網際網路(Internet)上造成一股流行風潮,加上後來各個公司的WWW Browser都納入Java虛擬機器,因而將Java系統推上了流行的高峰。雖然 Java程式語言本身具有很多的優點,但Java虛擬機器的執行速度過慢,無 法做為大量科學計算,大架構(large-scale)程式,及發展embedding系統 等等的平台。昇陽公司為了解決這個問題,同時採取幾種方法,包括使用 硬體來加速位元組碼的執行,如執行Java Bytecode的CPU(picoJava)及軟 體上更進,如即時編譯(JIT)等技巧。在本論文中,我們研究與實作Java 位元組碼(bytecode)的靜態編譯器。主要的目的是實作一個具有最佳化的 Java位元組碼靜態編譯器(Java Bytecode Native Compiler),希望可以 使得Java的應用擴充到需要具有高速運算的領域。我們採取的做法是以自 由軟體基金會(Free Software Foundation)的GCC系統做為基本骨幹,設 計並實作了Java 位元組的驗證器和轉譯器,可讀進Java的類別檔,處理 後產生組合語言碼。但由於缺少執行環境,所以無法連結成執行檔,未來 ,可和其他虛擬機器做整合,才算完成系統的建立。
|