IBM(R) Runtime Environment for Linux, Java(TM) 2 Technology Edition, Version 1.3.1, 32-bit version
- README -


附註:在使用本資訊及其支援的產品之前,請務必閱讀注意事項下的一般資訊。

本修訂版 README 適用於 IBM Runtime Environment for Linux, Java 2 Technology Edition, Version 1.3.1, 32-bit version,以及所有後續版次與修正,直到修訂版中另有指示為止。

(c) Copyright Sun Microsystems, Inc. 1997, 2001, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.

(c) Copyright International Business Machines Corporation, 1999, 2002. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


此 README 檔中內含 IBM(R) Developer Kit for Linux, Java(TM) 2 Technology Edition, Version 1.3.1, 32-bit version (Developer Kit for Linux) 所提供之 Runtime Environment for Linux 套件的相關資訊。

Runtime Environment 允許您僅執行 Java 應用程式。如果您想先撰寫然後再執行 Java 應用程式時,必須安裝 Developer Kit for Linux。如果您已安裝 Developer Kit for Linux 時,便不需要 Runtime Environment,因為這是 Developer Kit 的子集。

如需已經過 Developer Kit for Linux 測試過之分送清單時,請參閱:
http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html


內容

  • 總覽
  • Runtime Environment for Linux 所內含的檔案
  • 授權合約
  • Just-In-Time (JIT) 編譯器
  • Native Method Interface 和 Java Native Interface
  • 配置 Runtime Environment for Linux
  • 安裝和配置 Java Plug-in
  • 安裝其他字型
  • 在 Red Hat 上安裝
  • 如果使用 BEA Weblogic 來安裝
  • 解除安裝 Runtime Environment for Linux
  • 解除安裝 RPM 套件
  • 解除安裝壓縮的 TAR 套件
  • 呼叫 Java Java Runtime Interpreter
  • 系統內容
  • 取得 IBM 建置和版本號碼
  • 使用浮動堆疊
  • 切換 DBCS 語言中的輸入方法
  • Devanagari 字型
  • 執行時期範例
  • 在使用者系統中安裝應用程式
  • 指定垃圾收集原則
  • Runtime Environment for Linux 文件
  • 已知限制
  • 日文版使用者資訊
  • 注意事項
  • 商標

  • 總覽

    Runtime Environment for Linux 含有建立 Java 執行時期環境和執行 Java 程式所需要的類別子集。其中也包含 Java Virtual Machine、Java 類別及支援的檔案。Runtime Environment for Linux 只含有 Java Developer Kit 中所能找到的類別子集。

    Runtime Environment for Linux 所內含的檔案

    Runtime Environment for Linux 除了包括不可除錯的 .so 檔,還有在執行時期支援程式的類別檔。Runtime Environment for Linux 不包括任何開發工具,如 appletviewer 或 javac,或是專屬於開發系統的類別。

    另外,Java Authentication and Authorization Service (JAAS) 和 Java Communications 應用程式設計介面 (API) 套件專供搭配 Runtime Environment for Linux 使用。

    授權合約

    LICENSE_xx.html 檔含有 Runtime Environment for Linux 軟體的授權合約。(xx 是語言的縮寫。)

    如果要檢視或列印授權合約,請在 Web 瀏覽器中開啟這個檔案。

    Just-In-Time (JIT) 編譯器

    Just-In-Time (JIT) 編譯器 (libjitc.so),可在 Java 應用程式或 Applet 執行時,以動態方式來產生常用之位元組碼序列的機器碼。

    Runtime Environment for Linux 包括預設啟用的 JIT 編譯器 (libjitc.so),依預設,它會在啟用狀態。您可以停用 JIT,以便從 Java 應用程式、Applet 或編譯器本身中,將問題分離出來。如果要停用 JIT,請在 Shell 提示中輸入下列指令:

        export JAVA_COMPILER=NONE
    

    如果要啟用 JIT,請在 Shell 提示中輸入下列指令:

        export JAVA_COMPILER=libjitc.so
    

    如果要驗證是否已啟用 JIT,請在 Shell 提示中輸入下列指令:

        java -version
    

    如果 JIT 在使用中,便會顯示一則包含下列內容的訊息:

        JIT enabled: jitc
    

    如果 JIT 不在使用中,便會顯示下列的訊息:

        JIT disabled
    

    Native Method Interface 和 Java Native Interface

    在這個版次中,IBM 不支援 Native Method Interface。請勿在應用程式使用這個介面。

    Java Native Interface (JNI) 已隨附於 Runtime Environment 中。如需關於使用 JNI 的資訊,請參閱 Sun 的網站:

    1. 按一下 Products & APIs
    2. 按一下 Product Groups 下的 Java 2 Platform, Standard Edition (J2SE)
    3. 按一下 Current Releases 下的 Java 2 SDK, Standard Edition, v 1.3.1
    4. 按一下 J2SE 1.3.1 Documentation 下的 browse documentation online
    5. Guide to Features - Java Platform 之下,按一下 Java Native Interface (JNI)

    配置 Runtime Environment for Linux

    安裝好 Runtime Environment for Linux 之後,請編輯您的 Shell Script,並將下列目錄加入 PATH 陳述式中:

    如果您將 Runtime Environment for Linux 安裝在 /opt/IBMJava2-131 以外的目錄,請將 /opt/IBMJava2-131 改成 Runtime Environment for Linux 的安裝目錄。

    安裝和配置 Java Plug-in

    Java Plug-in 是一個 Web 瀏覽器外掛程式,專供搭配 Netscape Communicator for Linux 使用。如果您使用 Java Plug-in,您可以忽略 Web 瀏覽器的預設 Java Virtual Machine, 改用 Java Runtime Environment (JRE) 在瀏覽器中執行 Applet 或 Bean。

    如果要安裝和配置 Java Plug-in:

    附註:將 javaplugin.so 檔鏈結到 netscape/plugins 目錄之後,於第一次啟動 Netscape 時,Netscape 會立即關機。(如果您從指令行啟動 Netscape 的話,會出現 Bus error 訊息。) 您可以放心忽略這個訊息,因為過了第一次之後,Netscape 不會再遇到這個錯誤。

    安裝其他字型

    Java 能夠顯示所有 Unicode 字元,但大部份的 Linux 版本,只會安裝要顯示您的語言時所需的字型。您可以從 IBM 下載各種字型,以見到完整的 Unicode 字集。這些字型沒有包含在 Developer Kit for Linux 套件中,因為它們很大,不是所有使用者都需要用到它們。IBM 提供了兩套 Unicode 字型,每一套都是依國家來自訂的。中國和韓國的使用者必須使用國家特定版本,所有其他使用者必須使用這些字型的日文版。

    您可以從 developerWorks 網站下載字型,網址是 http://www.ibm.com/developer/java/。這些字型都有說明,可協助您判斷要下載哪些字型。

    如果要安裝某一種字型時,請將檔案放在 /opt/IBMJava2-ppc-131/jre/lib/fonts 目錄中。

    如果您分批下載字型,您必須先將每種字型的各部份都組合到一個檔案中。若要這麼做,請確定各部份都放在 /opt/IBMJava2-ppc-131/jre/lib/fonts 目錄中之後,再使用 cat 指令。

    比方說,如果您分批下載了 Times New Roman WT J 字型,請輸入下列指令,重新將它們放回一起:

            cat tnrwt_j.t01 tnrwt_j.t02 tnrwt_j.t02 > tnrwt_j.ttf

    在 Red Hat 上安裝

    當您在 Red Hat 系統上進行安裝時,如要讓 font server 能尋找 Java TrueType 字型時,請執行:

    su root /usr/sbin/chkfontpath --add /opt/IBMJava2-131/jre/lib/fonts

    在安裝時您必須如此執行,同時您必須是 root 才能執行這項指令。

    如果使用 BEA Weblogic 來安裝

    當您安裝 Developer Kit for Linux 套件時,如果想要使用 BEA Weblogic 伺服器,必須取消選取 JAAS 的選擇性安裝。BEA Weblogic 伺服器含有自己實作的 JAAS。


    解除安裝 Runtime Environment for Linux

    用來移除 Runtime Environment for Linux 的程序會隨著您安裝的是 RPM 套件或壓縮的 TAR 套件而不同。請參閱解除安裝 RPM 套件解除安裝壓縮的 TAR 套件,以取得其指示。

    解除安裝 RPM 套件

    如果已安裝 RPM 套件,現在要解除安裝 Runtime Environment for Linux:

    1. 在提示中,請輸入下列指令:
          rpm -qa | grep IBM
      
      這時會出現套件的名稱。

    2. 輸入下列指令:
          rpm -e pkgname
      
      其中 pkgname 是所顯示的套件名稱。

    解除安裝壓縮的 TAR 套件

    如果已安裝了壓縮的 TAR 套件,要解除安裝 Runtime Environment for Linux:

    1. 從安裝 Runtime Environment 的目錄中,移除 Runtime Environment 檔案。
    2. 從 PATH 陳述式中移除 Runtime Environment 的安裝目錄。
    3. 如果您安裝了 Java Plug-in,請從 Netscape 目錄中移除 Java Plug-in 檔案。

    呼叫 Java Runtime Interpreter

    您可以使用 java 工具,從 Shell 提示中呼叫 Runtime Environment for Linux。

    Java 工具的選項如下:

    -X 選項不是標準的選項,有可能會改變,且不另行通知。


    系統內容

    您可以利用呼叫 Java Runtime Interpreter 區段中所說明的 -D 選項,來設定系統內容 ibm.jvm.bootclasspath。這個內容值用來作為其他搜尋路徑,插入 -Xbootclasspath/p: 所定義的任何值和 bootclass 路徑之間。bootclass 路徑是預設值或利用 -Xbootclasspath: 選項所定義者。


    取得 IBM 建置和版本號碼

    如果要取得 IBM 建置和版本號碼,請在 Shell 提示中輸入下列指令:

        java -version
    

    使用浮動堆疊

    特定的 Linux 分送 - 例如 RedHat - 會啟用稱為「浮動堆疊」的 GLIBC 特性。因為 Linux 核心限制之故,如果此核心層次少於 2.4.10 時,在啟用浮動堆疊的情況下,JVM 將無法在 SMP 硬體上執行。在此環境中,浮動堆疊必須在 JVM 或是任何啟動 JVM 的應用程式啟動之前,便先予以停用。在 RedHat 上,您可利用匯出環境變數的方法來停用浮動堆疊,例如:

    export LD_ASSUME_KERNEL=2.2.5

    在非浮動堆疊的 Linux 系統上,不管 -Xss 的設定為何,對於每一個執行緒均 會提供 256KB 的最小原生堆疊大小。在浮動堆疊的 Linux 系統上,則會採用 -Xss 的值。 因此,如果您正從非浮動堆疊的 Linux 系統進行移轉,必須確定任何 -Xss 的值均夠大,並且也不會僅仰賴 256KB 的最小值。


    切換 DBCS 語言中的輸入方法

    如果您要在雙位元組字集 (DBCS) 系統中切換輸入方法,必須設定一個環境變數來代表切換所用的 keycode。或者是,您也可以設定另一個代表 keycode 修飾元的環境變數。

    如果要指定切換所用的 keycode,請將 IBMJAVA_INPUTMETHOD_SWITCHKEY 環境變數設為 java.awt.event.KeyEvent 類別中的 keycode 定義,比方說,VK_F4。

    或者是,指定 keycode 的修飾元。如果要指定 keycode 的修飾元,請將 IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 環境變數設為 java.awt.event.InputEvent 類別中以下三個遮罩定義中的某種組合:

    請用逗號來分開遮罩。

    比方說,您可以將 IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 環境變數設成 ALT_MASK, CTRL_MASK

    在 Java 起始設定期間,會將這兩個環境變數儲存起來。

    如果要確定您已正確設定環境變數,請按下某個鍵,再以您指定的按鍵組合來檢查它。 如果符合,就會出現 Java 蹦現功能表,其中會顯示可選取的輸入方法。


    Devanagari 字型

    Developer Kit 不會將 Devanagari 字型 (Devamt.ttf 及 Devamtb.ttf) 放在 jre/lib/fonts 目錄中。反而是只要適合的話,Java 會使用 IBM 平台或 IBM 軟體產品隨附的 Monotype Unicode 字型(TimesNew Roman WorldType 與 Sans Monospace WorldType),以支援 Devanagari(北印度文)字型。


    執行時期範例

    下列 Sun 網頁中包含了可下載的 "Hello World" 範例。這個範例示範連結且執行於 Runtime Environment for Linux 中的簡單 Java 應用程式的建立方式。 以下範例是在 Sun 的網站上:

    1. 按一下 Products & APIs
    2. 按一下 Product Groups 下的 Java 2 Platform, Standard Edition (J2SE)
    3. 按一下 Current Releases 下的 Java 2 SDK, Standard Edition, v 1.3.1
    4. 按一下在左側 Documentation 之下的 Browse
    5. 按一下 Java Runtime Environment and Java Plug-in 下的 Notes for Developers

    這個範例中顯示如何從使用 Developer Kit for Linux 來開發應用程式,簡單並緊密地移轉至採用更輕裝備的 Runtime Environment for Linux 以便進行部署。


    在使用者系統中安裝應用程式

    開發好產品且準備要出貨之後,您必須將產品安裝到個別的使用者系統中、 配置使用者系統來支援您的軟體,以及配置執行時期環境。

    如果您使用 Runtime Environment for Linux, 您必須確定安裝程序沒有改寫現存的安裝結構(除非現存的 Runtime Environment for Linux 是舊的版本)。

    如果要重新分送 Runtime Environment for Linux, 您可以將它安裝在自己的系統上,再將必要的 Runtime Environment 檔複製到安裝集中。 如果您選擇這種方式,您必須併入 Runtime Environment for Linux 所提供的所有檔案。您必須併入所有檔案,才能重新分送 Runtime Environment for Linux 軟體。事實上,當您的應用程式出貨時,它會有自己的一份 Runtime Environment for Linux 複本。

    如果需要必須重新分送之檔案的相關資訊,請參閱產品所檢附的授權合約。


    指定垃圾收集原則

    IBM Runtime Environment for Linux, Java 2 Technology Edition, V1.3.1 採用了指定垃圾收集原則的 -Xgcpolicy JVM 執行時期選項。

    -Xgcpolicy 可以採取兩個值,optthruput(預設值)及 optavgpause。該選項會控制垃圾收集器的行為,在應用程式和整體系統的產量以及因垃圾收集所造成的暫停次數之間找到平衡點。

    該選項及其值的格式為:

    -Xgcpolicy:optthruput
    -Xgcpolicy:optavgpause

    暫停時間

    當應用程式嘗試建立一個物件,但資料堆中的可用空間無法立即滿足要求時,垃圾收集器便會負責來識別未參照的物件(垃圾)、刪除它們,並讓資料堆返回到可以快速滿足即時及後續配置要求的狀態。這類的垃圾收集循環,在應用程式碼執行時會造成偶發性非預期的暫停。隨著應用程式增大及複雜,以及資料堆相對地變大,此垃圾收集暫停時間也會變得較長、較重要。預設的垃圾收集值 optthruput,會對應用程式提供非常高的產量,但是所需的這些偶發性暫停成本,視資料堆的大小及垃圾的數量而定,其長度會從幾毫秒到數秒不等。

    暫停時間縮短

    optavgpause 值會大幅縮短垃圾收集暫停的時間,並且在垃圾收集暫停時間內,限制增加資料堆大小。這項目尤其與大型資料堆的配置息息相關。(大小至少為 1GB 時,即視為大型的資料堆)。暫停次數可在正常程式執行時,利用重疊垃圾收集活動的方法來減少。這種重疊會造成應用程式的產量小幅度地減少。

    資料堆近乎飽和的環境

    如果 Java 資料堆變得近乎飽和,並且只收回非常少量的垃圾時,對於新物件的要求便可能無法立即滿足,因為並沒有立即可用的空間。如果資料堆在操作時其容量接近飽和,則不論使用的是上述的何種選項,應用程式的效能可能會變糟;而且,如果持續要求更多的資料堆空間,應用程式便會收到「記憶體不足」的異常狀況,如果無法掌握及處理這個異常狀況,便會造成 JVM 的終止。在這些狀況下,建議您使用 -Xmx 選項來增加資料堆的大小,或是減少使用中應用程式物件的數目。

    關於垃圾收集進一步的資訊

    如需關於資料堆大小調整及應用程式效能之垃圾收集含意的資訊時,請參閱:


    Runtime Environment for Linux 文件

    IBM 提供下列的執行時期文件:


    已知限制

    日文版使用者資訊

    在 Linux 的日文版中,您可以利用日文的輸入方法,如 Canna、ATOK12 SE、Wnn4 或 Wnn6。請參考下列各節,以免在使用這些日文輸入方法時發生問題。

    對於所有輸入方法編輯器 (IME) 的使用者

    Canna 使用者

    如果您搭配 kinput2 輸入方法伺服器來使用 Canna 輸入方法, 當您採用 KIGOU 輸入模式時,會看不見輸入方法的某些視覺回應。 如果要避免這個問題,請在「輔助控制視窗」開啟之後,將焦點移到從屬站視窗。

    ATOK12 SE 使用者

    Wnn4 使用者

    如果您使用 Wnn4,在啟用「輸入方法編輯器 (IME)」時,Enter 鍵不會產生新行和回車。 如果要產生新行和回車,請停用 IME。

    Wnn6 使用者

    不支援「xwnmo 輸入方法」伺服器。請利用 kinput2 作為「輸入方法」伺服器。

    Wnn4、Wnn6 或 Canna 的使用者

    如果您使用 kinput2 作為「輸入方法」伺服器,請勿將顯示 kinput2 查閱視窗的 Java 視窗縮到最小或放到最大。

    如果您將 Java 視窗縮到最小:
    當您還原 Java 視窗時,您可以見到 kinput2 查閱視窗,但無法存取它。 如果出現此種狀況,請重新啟動您的 Java 應用程式。
    如果您將 Java 視窗放到最大:
    當您還原 Java 視窗時,查閱視窗有時會在畫面之外。如果發生此種狀況,請執行下列其中一項動作:

    注意事項

    本資訊乃是針對在美國提供的產品及服務而撰寫。

    IBM 可能不會在其他國家提供本文件討論的產品、服務或功能。要知道在您所在之區是否可用到這些產品與服務時, 請向當地的 IBM 服務代表查詢。本書在提及 IBM 的產品、程式或服務時,不表示或暗示只能使用 IBM 的產品、程式或服務。只要未侵犯 IBM 的智慧財產權,任何功能相當的產品、程式或服務都可以取 代 IBM 的產品、程式或服務。 不過,其他非 IBM 產品、程式或服務在運作上的評價 與驗證,其責任屬於使用者。

    在這文件中包含著 IBM 所擁有之專利或暫准專利。 使用者不享有本文件內容之專利權。您可以用書面方式來查詢授權,來函請寄到:

    如果要查詢有關二位元組 (DBCS) 資訊的特許權限事宜, 請聯絡您國家的 IBM 智慧財產部門,或者用書面方式寄到:

    下列段落若與該國之法律條款抵觸,即視為不適用:

    IBM 僅以現狀提供本書,而不提供任何明示或默示之保證 (包括但 不限於可商用性或符合特定效用的保證。) 有些地區在某些固定的交易上並不接受明示或默示保證的放棄聲明,因此此項 聲明不見得適用於您。

    本資訊中可能會有技術上或排版印刷上的訛誤。因此,IBM 會定期修訂; 並將修訂後的內容納入新版中。同時,IBM 得隨時改進並 (或) 變動本資訊中所 提及的產品及 (或) 程式。

    本資訊中任何對非 IBM 網站的敘述僅供參考,IBM 對該網站並不提供保證。該網站上的資料,並非本 IBM 產品所用資料的一部分,如因使用該網站 而造成損害,其責任由 貴客戶自行負責。

    IBM 得以各種適當的方式使用或散佈由 貴客戶提供的任何資訊,而無需對您負責。

    本程式之獲授權者若希望取得相關資料, 以便使用下列資訊者可洽詢 IBM。 其下列資訊指的是: (1) 獨立建立的程式與其他程式 (包括此程式) 之間更換資訊的方式; (2) 相互使用已交換之資訊方法。 若有任何問題請聯絡:

    上述資料得遵循適當條款而取得,在某些情況下必須付費方得使用。

    IBM 基於雙方之「IBM 客戶合約」、「國際程式授權合約」或任何同等合約之條款,提供本文件中所述之授權程式與其所有適用的授權資料。

    任何此處涵蓋的執行效能資料都是在一個受控制的環境下決定出來的。 因此,若在其他作業環境下,所得的結果可能會大大不同。有些測定已在開發階段系統上做過, 不過這並不保證在一般系統上會出現相同結果。 再者,有些測定可能已透過推測方式評估過。 但實際結果可能並非如此。 本書的使用者應依自己的特定環境,查證適用的資料。

    本書所提及之非 IBM 產品資訊,係一由產品的供應商,或其出版的聲明或其他公開管道取得。 IBM 並未測試過這些產品,也無法確認這些非 IBM 產品的執行效能、 相容性或任何對產品的其他主張是否完全無誤。如果您對非 IBM 產品的性能有任何的疑問, 請逕向該產品的供應商查詢。

    商標

    IBM 是 International Business Machines Corporation 在美國和(或)其他國家的商標。

    Java 以及所有以 Java 為基礎的商標及標誌圖都是 Sun Microsystems, Inc. 在美國和(或)其他國家的商標或註冊商標。Java 技術是 Sun Microsystems, Inc. 所擁有並負責提供其專用授權。

    其他公司、產品和服務名稱,可能是第三者的商標或服務標記。