實現 Java 平臺的三種方式

實現 Java 平臺的三種方式<?XML:NAMESPACE PREFIX = O />

廣泛地說,只要能執行 Java bytecode 者,就可以稱爲 Java 平臺(Java platform)。大致上,實現 Java 平臺的方式有三種,分別是:

  • Java 虛擬機器(Java Virtual MachineJVM

  • Java 操作系統(Java Operating System

  • Java 芯片(Java Chip

以下就此三種 Java 平臺提出解說,並比較之。

Java 虛擬機器

所謂的 Java 虛擬機器,指的是在操作系統上執行的一種程序,此程序可以解讀 Java bytecode,並在操作系統的幫助下執行 Java bytecode。這樣的執行架構,大致上可以分成四層,分別是:

  • 第一層(最上層)的 Java bytecode

  • 第二層的 Java 虛擬機器

  • 第三層的操作系統

  • 第四層(最底層)的芯片

芯片執行上面的操作系統,操作系統執行上面的 Java 虛擬機器,Java 虛擬機器執行上面的 Java bytecode。對於 Java bytecode 來說,它只接觸到 Java 虛擬機器,所以當然「誤以爲」Java 虛擬機器就是它的平臺。

實例:Pentium III Chip + Windows 2000 OS + Sun HotSpot Client VM + Together/ Java Application。

Java 操作系統

如果把 Java 虛擬機器整合進既有的操作系統中(例如:Mac OS X),或是打造一個全新的操作系統專門執行 Java bytecode(例如:JOS),這類能直接執行 Java bytecode 的操作系統也可視爲 Java 平臺。這樣的執行架構,大致上可以分成三層,分別是:

  • 第一層(最上層)的 Java bytecode

  • 第二層的 Java 操作系統

  • 第三層(最底層)的芯片

Java 芯片

如果把 Java 操作系統和既有的芯片整合起來成爲一組新的芯片(例如:ARM 7、ARM 9),或者打造一個全新的 Java 專用芯片(例如:aJile aJ-100)那麼此一種類的芯片也是 Java 平臺。這樣的執行架構,大致上可以分成兩層,分別是:

  • 第一層(最上層)的 Java bytecode

  • 第二層(最底層)的 Java 芯片

三種方式的比較

這三種都是 Java 平臺,各有優缺點,很難說那一種方式比較好,必須看你的需求而定。

透過虛擬機器來執行 Java 是最常見的架構方式,一方面是因爲虛擬機器的 Java 平臺最容易被實作出來(相較於 Java 操作系統和 Java 芯片而言),二方面是因爲只要有虛擬機器就可以讓在不更動實體平臺(操作系統和 CPU)的情況下多了執行 Java 程序的功能。目前,多數主流的實體平臺(包括 Windows、Linux、Mac、Solaris、PalmOS、EPOC...)都已經有 Java 虛擬機器了。

虛擬機器的架構因爲分了太多層級,所以效率上當然會比較差,這是虛擬機器架構最爲人所抨擊的地方。但是由於虛擬機器的技術一直在進步,所以執行效率一直都有持續的提升。目前已經相當逼近 Java 操作系統的架構方式,所以虛擬機器的方式應該會繼續成爲 PC 上的 Java 平臺主流。

一般來說,透過 Java 操作系統來執行 Java bytecode,效率會比虛擬機器的方式好。所以 Java 虛擬機器被整合進操作系統中,來提升該操作系統的附加價值,這種作法有可能會成爲一種趨勢(例如 MacOS X 就把 Java 和操作系統作了很好的整合)。但如果設計一套只能執行 Java 的全新操作系統,可能不容易成功,因爲全新的操作系統勢必面臨驅動程序(device driver)不足的嚴重困擾。因爲此原因,加上事實證明操作系統的 Java 平臺,比虛擬機器的 Java 平臺效率提升不如預期多,所以 IBM 和 Sun 合作的純 Java 操作系統「JavaOS」計畫已經停擺。

利用芯片的方式來實作 Java 平臺,對於 Java 程序的執行速度會有很大的提升,畢竟硬件的速度比軟件快許多。這種方式以後會成爲嵌入式系統的主流,許多 Java 的 IA 產品(例如:Set-Top Box)都會開始使用 Java 芯片。但是這種方式已經把 Java 整個變成硬件平臺,不適合再稱爲跨平臺了。

發佈了30 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章