在 Intel 架構上的 IBM 32-bit Runtime Environment for Linux, Java 2 Technology Edition,1.4.1 版; 使用手冊


版權資訊

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

本使用手冊修訂版適用於 在 Intel 架構上的 IBM 32-bit Runtime Environment for Linux, Java 2 Technology Edition,1.4.1 版, 以及所有後續版次與修正,直到新修訂版中另有指示為止。

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

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

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


前言

在 Intel 架構上的 IBM(R) 32-bit Runtime Environment for Linux, Java(TM) 2 Technology Edition,1.4.1 版 中包含 Java Virtual Machine (JVM)、核心 Sun Microsystems Java 類別及支援檔案。Runtime Environment 並未包含 SDK 套件中所具備的所有類別。

本使用手冊中提供有關 Runtime Environment 的一般資訊,以及 Runtime Environment 的 IBM 實作與 Sun 實作之差異的相關特定資訊。請同時參閱本使用手冊以及 Sun 網站上內容更廣泛的文件:http://java.sun.com

如需已經對 SDK for Linux 測試過之發行版清單,請參閱:http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html

請注意,Runtime Environment for Linux 是 SDK 的子集,僅能讓您執行 Java 應用程式。如果您已安裝 SDK,其中便包含了 Runtime Environment。

本使用手冊中交替使用 "Runtime Environment" 和 "Java Virtual Machine" 兩個術語。

當您閱讀本 1.4.1 版使用手冊的 HTML 版本或彩色印行本時,其技術變更(非次要或明顯之變更,如將 "1.4.0" 更新為 "1.4.1")均會以紅字標明,且在變更處左側也會加上垂直線。


目錄

版權資訊

前言

概觀

  • 版本相容性
  • Runtime Environment for Linux 所包含的檔案
  • 授權合約
  • Just-In-Time (JIT) 編譯器
  • 原生方法介面和 Java 原生介面
  • 配置 Runtime Environment for Linux

    解除安裝 Runtime Environment for Linux

  • 解除安裝可安裝的 Red Hat Package Manager (RPM) 套件
  • 解除安裝壓縮的 Tape Archive (TAR) 套件
  • 啟動 Java 應用程式

  • 指令摘要
  • 選項
  • 標準選項
  • 非標準選項
  • java 指令的全球化
  • 使用類別路徑
  • |JVM 處理信號的方式
  • |JVM 所使用的信號
  • |將原始的程式碼驅動程式鏈結到信號鏈結檔案庫
  • 使用 bootclasspath
  • 指定記憶體收集原則
  • 暫停時間
  • 暫停時間縮短
  • 資料堆近乎飽和的環境
  • 關於記憶體收集進一步的資訊
  • 取得 IBM 建置和版本號碼

    使用 Java 外掛程式

  • 安裝和配置 Java 外掛程式
  • 安裝適用於 Mozilla 的 Java 外掛程式
  • 支援的瀏覽器
  • 使用 DBCS 參數
  • 使用 Web Start

  • 安裝 Web Start
  • 使用浮動堆疊

    切換 DBCS 語言中的輸入方法

    Runtime 範例

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

    已知限制

    注意事項

  • 商標

  • 概觀

    Runtime Environment for Linux 含有建立 Java Runtime Environment 以及執行 Java 程式所需的類別子集。 其中也包含 Java Virtual Machine、Java classes 及支援的檔案。Runtime Environment for Linux 只包含一個類別子集,該類別子集位於 SDK 中。


    版本相容性

    |一般而言,在 1.1.8、1.2.2 或 1.3.1 版的 SDK for Linux 中執行的任何 Applet 或應用程式, |在本版本中應該可以正確地執行。以 Sun 的 Java 1.4.1 API 為基礎的 Applet 只能在支援 Java 1.4.1 API 的瀏覽器上運作。

    1.4.1 版編譯的類別並不保證可以在 Runtime Environment 1.4.0 版之前的版次運作。


    Runtime Environment for Linux 所包含的檔案

    Runtime Environment for Linux 包含於 Runtime 支援程式所需的非除錯的 .so 檔及類別檔。在 Runtime Environment for Linux 中並未併入任何的開發工具,例如 appletviewer 或 javac,或是專屬於開發系統的類別。

    此外,有提供 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=jitc
    

    若要驗證否是已啟用 JIT,請在 Shell 提示下輸入:

        java -version
    

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

    (JIT enabled: jitc)
    

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

    (JIT disabled)
    


    原生方法介面和 Java 原生介面

    在這個版次中,IBM 不支援「原生方法介面」。 請勿在應用程式使用這個介面。

    「Java 原生介面 (JNI)」已隨附於 Runtime Environment 中。 關於使用 JNI 的資訊,請參閱 Sun 網站:http://java.sun.com


    配置 Runtime Environment for Linux

    在安裝 Runtime Environment for Linux 之後, 請編輯 Shell 登入 Script 並將此目錄加入 PATH 陳述式:

    /opt/IBMJava2-141/jre/bin

    如果您安裝 Runtime Environment for Linux 的目錄不是 /opt/IBMJava2-141/,請以您安裝 Runtime Environment for Linux 的目錄取代 /opt/IBMJava2-141/。


    解除安裝 Runtime Environment for Linux

    您用來移除 Runtime Environment for Linux 的程序係根據您安裝的是可安裝的 Red Hat Package Manager (RPM) 套件或是壓縮的 Tape Archive (TAR) 套件而定。 請參閱解除安裝可安裝的 Red Hat Package Manager (RPM) 套件解除安裝壓縮的 Tape Archive (TAR) 套件以取得指示。


    解除安裝可安裝的 Red Hat Package Manager (RPM) 套件

    如果已安裝可安裝的 RPM 套件,而要解除安裝 Runtime Environment for Linux 時:

    1. 在 Shell Script,鍵入下列指令:

          rpm -e IBMJava2-JRE-1.4.1     
      

      另一種方法是,您可以利用圖形工具,如 kpackage 或 yast2。

    2. 從 PATH 陳述式移除您安裝 Runtime Environment 的目錄。

    3. 如果您安裝了 Java 外掛程式,請從 Netscape 目錄中移除 Java 外掛程式檔案。



    解除安裝壓縮的 Tape Archive (TAR) 套件

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

    1. 從安裝 Runtime Environment 的目錄中, 移除 Runtime Environment 檔案。

    2. PATH 陳述式移除您安裝 Runtime Environment 的目錄。

    3. 如果您安裝了 Java 外掛程式,請從 Netscape 目錄中移除 Java 外掛程式檔案。


    啟動 Java 應用程式

    Java 工具可啟動 Java 應用程式。

    JVM 會在下列三組位置中搜尋啟動類別和已經使用的其他類別:bootstrap 類別路徑、已安裝的延伸項目,以及使用者類別路徑。類別名稱或 JAR 檔案名稱後面的引數會被傳遞給 main 函數。

    javaw 指令同等於 java,不同之處是 javaw 沒有相關聯的主控台視窗。若您不想要出現指令提示視窗,請使用 javawjavaw 啟動程式啟動失敗時會顯示一個包含錯誤資訊的對話框。


    指令摘要

    javajavaw 指令具有下列語法:

    java [ options ] class [ arguments ... ]
    java [ options ] -jar file.jar [ arguments ... ]
    javaw [ options ] class [ arguments ... ]
    javaw [ options ] -jar file.jar [ arguments ... ]
     
    

    方括弧([])內的項目為選用項目。

    options
    指令行選項。
    class
    所要呼叫的類別名稱。
    file.jar
    所要呼叫之 jar 檔案的名稱。它只能配合 -jar 使用。
    argument
    傳遞給 main 函數的引數。

    若指定了 -jar 選項,則指名的 JAR 檔案要包含應用程式的類別和資源檔,且以 Main-Class 處理標題來表示啟動類別。


    選項

    此啟動程式有一組標準選項為目前的 runtime 環境所支援,在未來的版次中也將支援。此外,還有一組非標準的選項。

    標準選項

    -D<property_name>=<value>

    設定系統內容。

    -assert

    列印 assert 相關選項的說明。

    -cp-classpath <以 ":" 分隔的目錄以及 zip 或 jar 檔案>

    設定應用程式類別和資源的搜尋路徑。若不使用 -classpath -cp ,且未設定 CLASSPATH,則使用者類別路徑預設為現行路徑 (.)。另請參閱使用類別路徑

    -help-?

    列印用法訊息。

    -showversion

    列印產品版本並繼續。

    -verbose[:class | gc | jni]

    啟用詳細輸出。

    -version

    列印產品版本。

    -X

    列印非標準選項的說明。

    非標準選項

    下面列示的 -X 選項為可用選項的子集。它們不是標準選項,可能隨時變動,且不另行通知。

    -Xargencoding

    允許 java 指令上的選項使用 Unicode 跳脫字元來代表語言環境字集中缺少的字元。Unicode 跳脫字元的形式為 \u####,其中的 # 代表十六進位數字。

    -Xbootclasspath: <以 ; 間隔的目錄和 zip 或 jar 檔案>

    設定 bootstrap 類別和資源的搜尋路徑。尚有其他方法可以設定 bootclasspath。請參閱使用 bootclasspath|請勿部署使用此選項來置換 core.jar、graphics.jar、server.jar、security.jar、xml.jar、tools.jar 或 charsets.jar 中之類別的應用程式,因為這類部署會違反 Java 2 Runtime |Environment 二進位碼授權。

    -Xbootclasspath/a: <以 ; 間隔的目錄和 zip 或 jar 檔案>

    附加到 bootstrap 類別路徑尾端。

    |-Xbootclasspath/p: <以 ; 間隔的目錄和 zip 或 jar 檔> |

    |置於 bootstrap 類別路徑的開頭。請勿部署使用此選項來置換 core.jar、graphics.jar、server.jar、security.jar、xml.jar、tools.jar 或 charsets.jar 中之類別的應用程式,因為這類部署會違反 Java 2 Runtime |Environment 二進位碼授權。 |

    -Xcheck:jni

    執行 JNI 函數的額外檢查。

    -Xcheck:nabounds

    執行 JNI 陣列運算的額外檢查。

    -Xdebug

    啟動 JVM 並啟用除錯器。

    |-Xdisableexplicitgc |

    |將 System.gc() 的呼叫變更為無作業 (no-op)。 |

    -Xdisablejavadump

    對於異常程序終止停用 Java 傾出機能。當停用 Java 傾出時,就會執行系統程序終止傾出。當 Java 程式碼內發生問題時,Java 傾出很有用。若問題是出在系統元件,則使用正常系統傾出可能比較有用。

    |-Xgcpolicy:{optthruput | optavgpause}

    |

    |指定記憶體收集設定。預設值是 optthruput。如需詳細資訊,請參閱指定記憶體收集原則|

    -Xms<size>

    設定起始 Java 資料堆大小。

    -Xmx<size>

    設定最大 Java 資料堆大小。

    -Xnoclassgc

    停用類別記憶體收集。

    -Xoss<size>

    設定任一執行緒最大的 Java 堆疊大小。

    -Xquickstart

    |增進應用程式的啟動時間。如果您未指定這個選項, |方法的起始編譯會以高度最佳化來完成(亦即,JIT 不會重新編譯 "常用" 方法,因為這些方法一開始就是以高度最佳化來編譯)。

    -Xrs

    減少作業系統信號的使用。

    -Xrunlibrary_name[:options]

    載入說明程式程式庫。如需載入多個程式庫,請在指令行上多次指定此選項。此類程式庫的範例如下:
    • -Xrunhprof[:help] | [:<option>=<value>, ...]
      執行資料堆、CPU 或監視器剪影。
    • -Xrunjdwp[:help] | [:<option>=<value>, ...]
      載入除錯程式庫,以便支援應用程式的遠端除錯功能。

    -Xss<size>

    設定任何執行緒最大的原生堆疊大小。如需詳細資訊,請參閱使用浮動堆疊

    |-Xverbosegclog:<檔案路徑><檔案名稱>[X, Y] |

    |導致 verboseGC 輸出寫入指定的檔案。如果檔案存在, |它會被改寫。否則,如果無法開啟現有的檔案, |或無法建立新檔案,輸出會重新導向到 stderr。如果您指定了引數 X 和 Y(兩者都是整數),verboseGC 輸出會重新導向到 Y 個檔案,每一個檔案都包含 X 個 gc 循環價值的 verboseGC 輸出。這些檔案的格式為 filename1、filename2,依此類推。
    |註:
    環境變數 IBM_JVM_ST_VERBOSEGC_LOG 已從本版次移除。 |
    |

    -Xverify

    啟用最嚴格的檢查,預期未來預設值。

    java 指令的全球化

    java 指令與其他 Java 啟動程式指令(如 javaw)可容許將類別名稱指定為現行語言環境之字元集中的任何 Unicode 字元。

    您可以藉由使用 Java 跳脫字元在類別名稱與引數中指定任何 Unicode 字元。如果要這樣做,您必須指定 Xargencoding。如果要指定 Unicode 字元,請以 \u#### 格式使用跳脫字元,其中 # 為十六進位數字(0 到 9、A 到 F)。

    如果要將類別名稱與指令引數編碼指定為 UTF8 或 ISO8859_1,請使用 -Xargencoding:utf8-Xargencoding:latin 選項。

    在 Runtime Environment 中,如果您使用的是非英文的語言環境,javajavaw 指令將會提供已翻譯的輸出訊息。這些訊息不同於 1.3.1 版中的訊息,也會視 Java 執行所在的語言環境而有所不同。java 傳回的詳細錯誤說明和其他除錯資訊以英文顯示。起始設定期間傳回的除錯資訊顯示在方括弧([])中。


    使用類別路徑

    在 Runtime Environment 中,您可以將類別名稱指定成包含完整路徑和 .class 副檔名的完整檔案名稱。在上一版的 SDK 中,您只能指定與 CLASSPATH 相關的類別,且不容許使用 .class 副檔名。使用完整的檔案名稱使您可從您的桌面或檔案啟動程式啟動 Java 應用程式。如果您使用路徑和副檔案指定 .class 檔案,系統便會將指定的路徑放入 CLASSPATH 中。例如,java c:\myapp\thisapp.class 指令便等於指定 java -classpath c:\myapp thisapp。例如,java c:\myapp\thisapp.class 指令便等於指定 java -classpath c:\myapp thisapp


    |JVM 處理信號的方式

    |在發出和 JVM 相關的信號時,系統會呼叫信號處理程式。此信號處理程式會針對 Java 或非 Java 執行緒來進行呼叫。如果信號是針對 JVM 執行緒,JVM 就會控制信號處理作業。如果信號是針對非 Java 執行緒,且安裝 JVM 的應用程式之前已安裝它自己的信號處理, |則控制會傳給該處理程式。否則,系統會忽略該信號(無論如何,這都不是信號的預設動作)。

    |針對異常狀況和錯誤信號,JVM 會:

    |針對岔斷信號,JVM 也會輸入受控制的關機程序, |但此時它會被視為正常終止;其動作為:

    |此關機作業和呼叫 Java 方法 System.exit() 所起始的關機作業完全相同。

    |JVM 所使用的其他信號係供內部控制使用,而不會導致它終止。唯一相關的控制信號為 SIGQUIT,其會產生 Java 記憶體傾印。

    |JVM 所使用的信號

    |以下表 1顯示了 JVM 所使用的信號。 |表格中的信號已依類型或用途分組,如下所示:


    |

    |表 1. JVM 所使用的信號

    信號名稱 信號類型 說明 由 -Xrs 停用
    SIGSEGV 異常狀況 不正確地存取記憶體(寫入無法存取的記憶體)
    SIGILL 異常狀況 指令不符規定(嘗試呼叫不明的機器指令)
    SIGFPE 異常狀況 浮點數異常狀況(除以零)
    SIGBUS 異常狀況 匯流排錯誤(嘗試定址不存在的記憶體位置)
    SIGSYS 異常狀況 發出不正確的系統呼叫
    SIGXCPU 異常狀況 超出 CPU 時間限制(執行的時間過長)
    SIGXFSZ 異常狀況 超出檔案大小限制
    SIGABRT 錯誤 異常終止。當 JVM 偵測到 JVM 錯誤時,會發出此信號。
    SIGINT 岔斷 交談式岔斷 (CTRL-C)。JVM 會正常結束。
    SIGTERM 岔斷 終止要求。JVM 會正常結束。
    SIGHUP 岔斷 當機。JVM 會正常結束。
    SIGUSR1 控制 使用者定義。某些 JVM 會用它來進行內部控制。
    SIGUSR2 控制 使用者定義。某些 JVM 會用它來進行內部控制。
    SIGQUIT 控制 終端機的結束信號。JVM 會使用它來進行 Java 記憶體傾印。
    SIGTRAP 控制 供 dbx 或 ptrace 內部使用。某些 JVM 會用它來進行內部控制。
    SIGPIPE 控制 寫入未被讀取的管道。JVM 會忽略它。

    |您可以使用 -Xrs(減少信號使用)選項來防止 JVM 使用大部份的信號。如需詳細資訊,請參閱 Sun 的 Java 應用程式啟動程式網頁:http://java.sun.com/j2se/1.4.1/docs/tooldocs/windows/java.html

    |信號 1 (SIGHUP)2 (SIGINT)4 (SIGILL)6 (SIGABRT)7 (SIGEMT)8 (SIGFPE)10 (SIGBUS)11 (SIGSEGV)12 (SIGSYS)15 (SIGTERM)、and 24 (SIGXCPU) 會導致 JVM 關機; |因此,應用程式信號處理程式不應該嘗試回復這些信號,除非不再需要 JVM 的服務。

    |將原始的程式碼驅動程式鏈結到信號鏈結檔案庫

    |在 Intel 架構上的 IBM 32-bit Runtime Environment for Linux, Java 2 Technology Edition,1.4.1 版 JVM 包含一種新的信號鏈結機能。信號鏈結可讓 JVM 和安裝其自己的信號處理程式的原始程式碼之間的交互作業更有效率。

    |信號鏈結機能可讓應用程式將共用程式庫 libjsig.so 鏈結並載入於 libc/libthread/libpthread 之前。 |jsig.dll 程式庫會確保 signal()sigset()sigaction() 這類的呼叫都會被截取,使得其處理程式不會取代 JVM 的信號處理程式。相反地,這些呼叫會儲存新的信號處理程式,或是將它們「串鏈」到 JVM 所安裝的處理程式之後。之後,當這些信號的任一信號發出時,如果並不是以 JVM 為目標,系統就會呼叫之前安裝的處理程式。

    |如果要使用 libjsig.so:

    |如果您安裝了使用 sigaction() 的信號處理程式,當 JVM 使用該信號時,某些 sa_flags 不會被察覺。這些旗標如下:

    |libjsig.so 程式庫也會針對應用程式隱藏 JVM 信號處理程式。 |因此,在 JVM 啟動之後產生的 signal()sigset()sigaction() 這類呼叫不再會傳回 JVM 信號處理程式的參照, |而是改為傳回在 JVM 啟動之前安裝的任何處理程式。


    使用 bootclasspath

    您可以利用 啟動 Java 應用程式 中說明的 -D 選項,來設定系統內容 ibm.jvm.bootclasspath。這個內容的值會用來作為額外的搜尋路徑, 該路徑會插入 -Xbootclasspath/p: 所定義的任何值和 bootstrap 類別路徑之間。bootstrap 類別路徑是預設值,或是使用 -Xbootclasspath: 選項所定義的值。


    指定記憶體收集原則

    記憶體收集原則由 -Xgcpolicy JVM Runtime 選項指定。

    -Xgcpolicy 可以採取兩個值:optthruput(預設值)及 optavgpause。該選項會控制記憶體回收器的行為,在應用程式和整體系統的產能以及因記憶體回收所造成的暫停時間之間找出平衡點。

    該選項及其值的格式為:

    -Xgcpolicy:optthruput

    -Xgcpolicy:optavgpause

    暫停時間

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

    暫停時間縮短

    optavgpause 選項會大幅縮短記憶體回收暫停所花的時間,也會減輕資料堆大小增加對記憶體回收暫停時間所造成的影響。這個選項對於具備大型資料堆的配置尤其重要。與正常執行的程式同時執行一些記憶體收集活動會減少暫停時間。但隨著暫停時間減少, 您可能會發現應用程式處理量也會跟著減少,程度視應用程式而有所不同。

    資料堆近乎飽和的環境

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

    關於記憶體收集進一步的資訊

    如需記憶體回收的詳細資訊,請參閱:

    http://www.ibm.com/developerworks/ibm/library/i-garbage1/

    http://www.ibm.com/developerworks/ibm/library/i-garbage2/

    http://www.ibm.com/developerworks/ibm/library/i-garbage3/

    |如需處理 Java 應用程式中記憶體洩漏的相關資訊, |請參閱:http://www.ibm.com/developerworks/library/j-leaks/index.html


    取得 IBM 建置和版本號碼

    若要取得 IBM 建置和版本號碼,請在 Shell 提示下輸入:

    java -version


    使用 Java 外掛程式

    Sun 在下列網址提供有關 Java 外掛程式的文件資料:http://java.sun.com/j2se/1.4.1/docs/guide/plugin/developer_guide/

    在 SDK 的這個版次中,Java 外掛程式不支援列印功能。


    安裝和配置 Java 外掛程式

    Java 外掛程式是一個 Web 瀏覽器外掛程式。如果您使用 Java 外掛程式,您可以忽略 Web 瀏覽器的預設 Java Virtual Machine,改用 Java Runtime Environment (JRE) 在瀏覽器中執行 Applet 或 Bean。

    如果要安裝和配置 Java 外掛程式:

    安裝適用於 Mozilla 的 Java 外掛程式

    |如果要安裝並配置適用於 Netscape 6 或 Mozilla 的 Java 外掛程式,請採用符號式鏈結,將程式庫檔案 /opt/IBMJava2-141/jre/bin/libjavaplugin_oji.so 鏈結到瀏覽器的 plugins 目錄 (/brower-install-path/plugins)。

    如果要將 Java 外掛程式提供給所有使用者:

    1. 以 root 為使用者 ID 登入
    2. 將鏈結到程式庫檔案 /opt/IBMJava2-141//jre/bin/libjavaplugin_oji.so 的符號式鏈結放入 Mozilla plugin 目錄(通常是 /usr/local/mozilla/plugins/,不過這在某些發行版上可能有所不同)。
      ln -s /opt/IBMJava2-141/jre/bin/libjavaplugin_oji.so \
      /usr/local/mozilla/plugins/
      
    註:
    libjavaplugin_oji.so 應該採用符號式鏈結而非複製的方式,否則可能找不到 JVM 的位置。

    支援的瀏覽器


    表 2. Java 外掛程式支援的瀏覽器

    發行版 Netscape 預設版本 Netscape 支援版本 Mozilla 預設版本 Mozilla 支援版本
    Red Hat 7.3 4.79 4.79 0.9.9 0.9.9
    Red Hat Advanced Server 4.78 4.78 0.9.9 0.9.9
    SuSE 8.0

    0.9.8 0.9.8
    SuSE SLES 7 4.77 4.77

    TurboLinux 7 Server

    0.94 0.94

    使用 DBCS 參數

    Java 外掛程式支援以雙位元組字元(如繁體中文 BIG-5、韓文、日文等)作為 <APPLET><OBJECT><EMBED> 等標示的參數。您必須選取您的 HTML 文件所適用的正確字元編碼,Java 外掛程式才能剖析參數。請使用 <HEAD> 區段中的 <META> 標示來指定 HTML 文件的字元編碼,如下所示:

    <meta http-equiv="Content-Type" content="text/html; charset=big5">
    

    本例告訴瀏覽器要使用中文 BIG-5 字元編碼來剖析使用中的 HTML 檔。所有的參數都會正確傳送到 Java 外掛程式。但是,某些舊版瀏覽器可能無法正確暸解這個標記。在這種情況下,您可以強制瀏覽器忽略這個標示,不過您可能必須手動變更編碼。

    您可以指定您想用來剖析 HTML 檔案的編碼:


    使用 Web Start

    Java Web Start 是一種部署以 Java 技術為基礎之應用程式的工具。它可連接電腦與 Internet,並可讓使用者直接從 Web 啟動及管理應用程式。Java Web Start 提供按一下即可啟動應用程式的功能,且可確保您使用的永遠都是最新的版本,進而免除了安裝或升級的程序。通常,透過 Web 發行軟體的程序需包括在 Web 上尋找安裝程式、下載安裝程式、決定安裝程式的位置並執行安裝程式。執行安裝程式之後,它會提示您選擇安裝目錄並選擇完整、標準或最小之類的安裝選項。這可能是個耗時又複雜,且必須針對軟體的每一個新版本重複進行的工作。

    相反地,透過 Web 部署的應用程式(如您 HTML 型式的電子郵件用戶端與行事曆)在安裝及使用上都十分簡單。Web 瀏覽器已將整個程序自動化,而不再有複雜的下載、安裝及配置等步驟,也可保證您執行的是最新的版本。對於功能完整的應用程式,Java Web Start 也可以提供相同的優點。

    如需支援 Web Start 之瀏覽器的資訊,請參閱受支援的瀏覽器一節。

    如需有關 Web Start 的其他資訊,請參閱:http://java.sun.com/products/javawebstart;如需其他文件,請參閱:http://java.sun.com/j2se/1.4.1/docs/guide/jws/index.html


    安裝 Web Start

    Web Start 安裝 Script 會隨 JRE for Java 1.4.1 一併安裝。

    該 Script 稱為 jre/bin/webstart_install_sdk.sh。如果要使用 Web Start,請執行該 Script。請將現行工作目錄設成您要安裝 Web Start 的位置。安裝程序會在現行工作目錄中建立一個名為 javaws 的子目錄。

    安裝程序也會更新 Netscape 和其他瀏覽器所使用的 MIME 類型。

    您可以利用兩種方式呼叫 Web Start:

    1. 在網頁上選取參照到 .jnlp 檔案的鏈結。
    2. 從前述建立的 javaws 目錄中啟動 javaws,如此可啟動 Web Start 對話框, 以從中選取應用程式。
    3. 在 Shell Script 中,輸入 javaws <URL>,其中 <URL> 是 .jnlp 檔的位置。

    上述任一動作都會使 Web Start 啟動選取的應用程式;如果這是您第一次要使用該應用程式,則會下載它。在之後的呼叫中,它都會檢查原來的網站,以瞭解是否有任何更新內容。Web Start 會先下載這些更新內容,再啟動應用程式。

    如果 jnlp 中發生錯誤(如標示名稱無效),Web Start 會異常中止,但不會顯示錯誤訊息。


    使用浮動堆疊

    某些 Linux 發行版 - 例如 Red Hat - 已啟用一種叫作「浮動堆疊」的 GLIBC 功能。 由於 Linux 核心的限制,如果核心層次低於 2.4.10,在啟用浮動堆疊的情況下,JVM 將無法在 SMP 硬體上執行。在此環境中,浮動堆疊必須在 JVM 或是任何啟動 JVM 的應用程式啟動之前,便先予以停用。 在 Red Hat,請使用本指令透過匯出環境變數來停用浮動堆疊:

    export LD_ASSUME_KERNEL=2.2.5
    

    在非浮動堆疊的 Linux 系統上,不管 -Xss 的設定為何, 系統一律針對每一個執行緒提供 256 KB 的最小原始堆疊大小。 在浮動堆疊 Linux 系統上,則是採用 -Xss 值。 因此,如果您要從非浮動堆疊的 Linux 系統移轉, 您必須確定 -Xss 值夠大,而不是仰賴最小值 256 KB。


    切換 DBCS 語言中的輸入方法

    在雙位元組字集 (DBCS) 系統,如果要切換輸入法,您應使用 java.util.prefs.Preferences 類別,而不要使用 IBMJAVA_INPUTMETHOD_SWITCHKEYIBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 環境變數。相關細節,請參閱 Sun 的輸入法組織架構規格


    Runtime 範例

    Sun 網站 http://java.sun.com 中包含了可下載的 "Hello World" 範例。這個範例示範如何建立一個簡單的 Java 應用程式,讓它可以在 Runtime Environment 上執行。


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

    開發好產品且準備要傳送之後,您必須將產品安裝到使用者系統中、配置使用者系統來支援您的軟體,以及配置 Runtime Environment。

    如果您使用 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 副本。

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


    已知限制

    以下幾節說明 SDK for Linux 的已知限制。

    下列限制只適用於繁體中文的使用者。


    注意事項

    本資訊乃是針對在美國提供的產品及服務而撰寫。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. 在美國和(或)其他國家或地區的商標或註冊商標。

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

    本產品包含由 Apache Software Foundation http://www.apache.org/ 所開發之軟體。