對于實現(xiàn)Java平臺的三種方式的詳細解析
發(fā)布時間:2008/8/18 0:00:00 訪問次數(shù):405
java 虛擬機器(java virtual machine,jvm)
java 操作系統(tǒng)(java operating system)
java 芯片(java chip)
以下就此三種 java 平臺提出解說,并比較之。
java 虛擬機器
所謂的 java 虛擬機器,指的是在操作系統(tǒng)上執(zhí)行的一種程序,此程序可以解讀 java bytecode,并在操作系統(tǒng)的幫助下執(zhí)行 java bytecode。這樣的執(zhí)行架構,大致上可以分成四層,分別是:
第一層(最上層)的 java bytecode
第二層的 java 虛擬機器
第三層的操作系統(tǒng)
第四層(最底層)的芯片
芯片執(zhí)行上面的操作系統(tǒng),操作系統(tǒng)執(zhí)行上面的 java 虛擬機器,java 虛擬機器執(zhí)行上面的 java bytecode。對于 java bytecode 來說,它只接觸到 java 虛擬機器,所以當然「誤以為」java 虛擬機器就是它的平臺。
java 操作系統(tǒng)
如果把 java 虛擬機器整合進既有的操作系統(tǒng)中(例如:mac os x),或是打造一個全新的操作系統(tǒng)專門執(zhí)行 java bytecode(例如:jos),這類能直接執(zhí)行 java bytecode 的操作系統(tǒng)也可視為 java 平臺。這樣的執(zhí)行架構,大致上可以分成三層,分別是:
第一層(最上層)的 java bytecode
第二層的 java 操作系統(tǒng)
第三層(最底層)的芯片
java 芯片
如果把 java 操作系統(tǒng)和既有的芯片整合起來成為一組新的芯片(例如:arm 7、arm 9),或者打造一個全新的 java 專用芯片(例如:ajile aj-100)那么此一種類的芯片也是 java 平臺。這樣的執(zhí)行架構,大致上可以分成兩層,分別是:
第一層(最上層)的 java bytecode
第二層(最底層)的 java 芯片
三種方式的比較
這三種都是 java 平臺,各有優(yōu)缺點,很難說那一種方式比較好,必須看你的需求而定。
透過虛擬機器來執(zhí)行 java 是最常見的架構方式,一方面是因為虛擬機器的 java 平臺最容易被實作出來(相較于 java 操作系統(tǒng)和 java 芯片而言),二方面是因為只要有虛擬機器就可以讓在不更動實體平臺(操作系統(tǒng)和 cpu)的情況下多了執(zhí)行 java 程序的功能。目前,多數(shù)主流的實體平臺(包括 windows、linux、mac、solaris、palmos、epoc...)都已經(jīng)有 java 虛擬機器了。
虛擬機器的架構因為分了太多層級,所以效率上當然會比較差,這是虛擬機器架構最為人所抨擊的地方。但是由于虛擬機器的技術一直在進步,所以執(zhí)行效率一直都有持續(xù)的提升。目前已經(jīng)相當逼近 java 操作系統(tǒng)的架構方式,所以虛擬機器的方式應該會繼續(xù)成為 pc 上的 java 平臺主流。
一般來說,透過 java 操作系統(tǒng)來執(zhí)行 java bytecode,效率會比虛擬機器的方式好。所以 java 虛擬機器被整合進操作系統(tǒng)中,來提升該操作系統(tǒng)的附加價值,這種作法有可能會成為一種趨勢(例如 macos x 就把 java 和操作系統(tǒng)作了很好的整合)。但如果設計一套只能執(zhí)行 java 的全新操作系統(tǒng),可能不容易成功,因為全新的操作系統(tǒng)勢必面臨驅動程序(device driver)不足的嚴重困擾。因為此原因,加上事實證明操作系統(tǒng)的 java 平臺,比虛擬機器的 java 平臺效率提升不如預期多,所以 ibm 和 sun 合作的純 java 操作系統(tǒng)「javaos」計畫已經(jīng)停擺。
利用芯片的方式來實作 java 平臺,對于 java 程序的執(zhí)行速度會有很大的提升,畢竟硬件的速度比軟件快許多。這種方式以后會成為嵌入式系統(tǒng)的主流,許多 java 的 ia 產(chǎn)品(例如:set-top box)都會開始使用 java 芯片。但是這種方式已經(jīng)把 java 整個變成硬件平臺,不適合再稱為跨平臺了。
歡迎轉載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
java 虛擬機器(java virtual machine,jvm)
java 操作系統(tǒng)(java operating system)
java 芯片(java chip)
以下就此三種 java 平臺提出解說,并比較之。
java 虛擬機器
所謂的 java 虛擬機器,指的是在操作系統(tǒng)上執(zhí)行的一種程序,此程序可以解讀 java bytecode,并在操作系統(tǒng)的幫助下執(zhí)行 java bytecode。這樣的執(zhí)行架構,大致上可以分成四層,分別是:
第一層(最上層)的 java bytecode
第二層的 java 虛擬機器
第三層的操作系統(tǒng)
第四層(最底層)的芯片
芯片執(zhí)行上面的操作系統(tǒng),操作系統(tǒng)執(zhí)行上面的 java 虛擬機器,java 虛擬機器執(zhí)行上面的 java bytecode。對于 java bytecode 來說,它只接觸到 java 虛擬機器,所以當然「誤以為」java 虛擬機器就是它的平臺。
java 操作系統(tǒng)
如果把 java 虛擬機器整合進既有的操作系統(tǒng)中(例如:mac os x),或是打造一個全新的操作系統(tǒng)專門執(zhí)行 java bytecode(例如:jos),這類能直接執(zhí)行 java bytecode 的操作系統(tǒng)也可視為 java 平臺。這樣的執(zhí)行架構,大致上可以分成三層,分別是:
第一層(最上層)的 java bytecode
第二層的 java 操作系統(tǒng)
第三層(最底層)的芯片
java 芯片
如果把 java 操作系統(tǒng)和既有的芯片整合起來成為一組新的芯片(例如:arm 7、arm 9),或者打造一個全新的 java 專用芯片(例如:ajile aj-100)那么此一種類的芯片也是 java 平臺。這樣的執(zhí)行架構,大致上可以分成兩層,分別是:
第一層(最上層)的 java bytecode
第二層(最底層)的 java 芯片
三種方式的比較
這三種都是 java 平臺,各有優(yōu)缺點,很難說那一種方式比較好,必須看你的需求而定。
透過虛擬機器來執(zhí)行 java 是最常見的架構方式,一方面是因為虛擬機器的 java 平臺最容易被實作出來(相較于 java 操作系統(tǒng)和 java 芯片而言),二方面是因為只要有虛擬機器就可以讓在不更動實體平臺(操作系統(tǒng)和 cpu)的情況下多了執(zhí)行 java 程序的功能。目前,多數(shù)主流的實體平臺(包括 windows、linux、mac、solaris、palmos、epoc...)都已經(jīng)有 java 虛擬機器了。
虛擬機器的架構因為分了太多層級,所以效率上當然會比較差,這是虛擬機器架構最為人所抨擊的地方。但是由于虛擬機器的技術一直在進步,所以執(zhí)行效率一直都有持續(xù)的提升。目前已經(jīng)相當逼近 java 操作系統(tǒng)的架構方式,所以虛擬機器的方式應該會繼續(xù)成為 pc 上的 java 平臺主流。
一般來說,透過 java 操作系統(tǒng)來執(zhí)行 java bytecode,效率會比虛擬機器的方式好。所以 java 虛擬機器被整合進操作系統(tǒng)中,來提升該操作系統(tǒng)的附加價值,這種作法有可能會成為一種趨勢(例如 macos x 就把 java 和操作系統(tǒng)作了很好的整合)。但如果設計一套只能執(zhí)行 java 的全新操作系統(tǒng),可能不容易成功,因為全新的操作系統(tǒng)勢必面臨驅動程序(device driver)不足的嚴重困擾。因為此原因,加上事實證明操作系統(tǒng)的 java 平臺,比虛擬機器的 java 平臺效率提升不如預期多,所以 ibm 和 sun 合作的純 java 操作系統(tǒng)「javaos」計畫已經(jīng)停擺。
利用芯片的方式來實作 java 平臺,對于 java 程序的執(zhí)行速度會有很大的提升,畢竟硬件的速度比軟件快許多。這種方式以后會成為嵌入式系統(tǒng)的主流,許多 java 的 ia 產(chǎn)品(例如:set-top box)都會開始使用 java 芯片。但是這種方式已經(jīng)把 java 整個變成硬件平臺,不適合再稱為跨平臺了。
歡迎轉載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)