各種不同版本之Java 程式的開發

來源:互聯網
上載者:User

 

各種不同的Java 版本,在其支援的核心類別函式庫之完整性以及所支援的 Java 基本型別這兩件事情上都有所差異,也就是說,不管您開發的是企業所使用的Java 程式、嵌入式裝置上執行的Java 程式、瀏覽器上執行的Applet ,或是在PC 上執行的應用程式。您都必須在您的電腦上先安裝 J2SE ,然後再安裝各種版本的核心類別函式庫以及額外的擴充類別函式庫,如此才能成功地開發各種不同目的的Java 程式。J2SE所提供的Java 編譯器(javac.exe)可以協助我們編譯各種不同平台上的Java 程式,而J2SE 所提供的JAVA 虛擬機器(java.exe)則可以協助我們在PC 上先行測試這些程式執行結果的正確與否。另外,Java 編譯器並不會幫您檢查您的程式是否符合各種平台上所支援的核心類別函式庫與 Java基本型別。舉例來說,雖然我們在前面說過,Smart Card 版本並不支援boolean 、byte 以外的Java 基本型別,而且該平台也只支援java.lang.*核心類別,可是當我們在撰寫 Smart Card 平台上的程式時,就算在程式碼裡頭用了boolean 或byte 以外的Java 基本型別,或者使用了java.lang.*之外的其他核心類別,編譯器仍然可以照常幫您編譯出類別檔。這個時候大家一定開始產生疑惑 --那麼這些程式如果放到Smart Card 上頭執行的時候,出了問題怎麼辦 ? 難道不會造成Smart Card 上的虛擬機器執行時發生錯誤嗎 ? 針對這個可能發生的潛在問題,Sun Microsystems 在各種不同版本的開發套件中,有些會內附檢查器 (checker)或者預先審核器 (preverifier),這兩個工具可以協助您在將程式放到目標平台之前先做好檢查和預先審核的工作。檢查器會幫您找出類別檔之中不合目標平台規格的部分,並提醒你這些地方可能無法在目標平台上執行。因此只要有檢查器的協助,您大致上可以確定您的程式可以符合目標平台的規定並順利執行。 Java Card 的開發套件中就附有檢查器。

 

而某些平台的開發套件則附有預先審核器,預先審核器除了做檢查器做的工作之外,還有一項額外的工作,就是減輕目標平台上虛擬機器的負擔,要解釋預先審核器這個額外的工作,在傳統的 Java 程式之中,為了安全上的考量,任何進入執行環境的類別檔 (不管該類別檔是來自本機或是遠端機器 ),都必須先經過Byte Code 審核器(Byte code verifier)的驗證,以防止程式在傳送途中遭到惡意的修改,而使得 Java 程式在執行時對系統有不良影響。經過審核之後,該類別檔才能開始被Java虛擬機器所執行。如果這個審核的動作在一般的 PC 上執行,速度倒是還能夠接受,可是一旦放到如 Palm 或是手機這些CPU 較慢、記憶體也比較少的機器上面就顯得十分吃力了。為了節省寶貴的 CPU 運算時間(既能省電又能夠加速程式執行 ),因此,在程式設計師產生能夠讓某些特定平台執行的類別檔之前,程式設計師必須先在 PC 上使用預先審核器做一些前置的審核工作,預先審核器會在類別檔之中加入一些特殊標記或符號。如此一來,當這些程式放到目標平台上執行時,就可以大幅減少在目標平台上做審核時的時間,藉而加速程式的的啟動及執行速度。因此在J2ME 之下的程式(Spotlet 、MIDlet),其執行步驟變成因為預先審核的關係,執行時Byte Code 審核器的工作就變少了,也因此從程式載入到開始執行之間的時間因而縮短。 CLDC標準實作和MIDP 參考實作之中就附有預先審核器。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.