IBM 32-bit Runtime Environment for Windows, Java 2 Technology Edition, Version 1.4.2

使用手冊


版權資訊

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

本「使用手冊」修訂版適用於 IBM 32-bit Runtime Environment for Windows, Java 2 Technology Edition, Version 1.4.2,以及所有後續版次與修正,直到新修訂版中另有指示為止。

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

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

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

前言

IBM(R) 32-bit Runtime Environment for Windows(R), Java(TM) 2 Technology Edition, Version 1.4.2 包含 Java Virtual Machine (JVM)、 Sun Microsystems Java 核心類別及支援檔案。Runtime Environment 不包含 SDK 套件中的所有類別。

IBM Runtime Environment 包含 Java Virtual Machine (JVM)、Sun Microsystems Java 核心類別及支援檔案。Runtime Environment 不包含 SDK 套件中的所有類別。

本「使用手冊」提供 Runtime Environment 的一般資訊,以及 IBM 與 Sun 在 Runtime Environment 實作差異上的特定資訊。 請搭配 Sun 網站上更豐富的文件來閱讀本「使用手冊」,網址是: http://java.sun.com

下列產品支援 Runtime Environment

|請注意:只有在 Windows XP 和 Windows Server 2003 上才支援 IPv6。

IBM JVM Diagnostics Guide 提供關於 IBM JVM 的詳細資訊。

請注意,Runtime Environment for Windows 是 SDK 的一個子集, 只能讓您執行 Java 應用程式。若您已安裝 SDK, 則已包含 Runtime Environment。

"Runtime Environment" 和 "Java Virtual Machine" 這兩個術語在本「使用手冊」中交互使用。

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

目錄

版權資訊
前言
使用 Runtime Environment
取得 IBM 建置和版本號碼
Just-In-Time (JIT) 編譯器
啟動 Java 應用程式
指令摘要
選項
java 指令的全球化
使用類別路徑
自動執行 Java 檔案
使用 bootclasspath
指定記憶體回收原則
| |
實作 RMI 連線處理程式儲存池
JVM 如何處理信號
JVM 使用的信號
鏈結原生的程式碼驅動程式與信號鏈結程式庫
使用 Java 外掛程式
支援的瀏覽器
使用 DBCS 參數
使用原生協助技術來執行 Java 應用程式
使用 Web Start
使用輸入法編輯器
已知的限制
對於本「使用手冊」是否有任何意見?
注意事項
商標

使用 Runtime Environment

不保證 Runtime Environment 1.4.2 版編譯的類別能夠使用在 1.4.0 之前的版次。

取得 IBM 建置和版本號碼

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

java -version

Just-In-Time (JIT) 編譯器

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

Runtime Environment for Windows 包 含依預設會啟用的 JIT (jitc.dll)。 您可以停用 JIT,以便從 Java 應用程式、Applet 或編譯器本身中,將問題分離出來。

有兩個方式可以停用 JIT:

若要啟用 JIT,請在指令提示下輸入:

    set JAVA_COMPILER=jitc

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

    java -version

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

(JIT enabled: jitc)

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

(JIT disabled)

啟動 Java 應用程式

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

JVM 會在三個地方搜尋啟動類別及其他所用到的類別: bootstrap 類別路徑、已安裝的延伸項目及使用者類別路徑。 類別名稱或 JAR 檔案名稱後面的引數會傳遞給 main 函數。

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

指令摘要

javajavaw 指令具有下列語法:

java [ 選項 ] 類別 [ 引數 ... ]
java [ 選項 ] -jar 檔案.jar [ 引數 ... ]
javaw [ 選項 ] 類別 [ 引數 ... ]
javaw [ 選項 ] -jar 檔案.jar [ 引數 ... ]

方括弧內的項目是選用性的。

選項
指令行選項。
類別
要呼叫的類別名稱。
檔案.jar
要呼叫的 jar 檔案名稱。僅搭配 -jar 一起使用。
引數
傳遞給 main 函數的引數。

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

選項

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

標準選項

非標準選項

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

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 檔案

若要設定從檔案中自動執行 java 類別或 jar 檔案, 請使用「Windows 檔案總管」的工具->資料夾選項->檔案類型選項。 另外,也可以在指令提示上鍵入:

assoc .class=javaclass 
ftype javaclass=C:\Program Files\IBM\Java142\jre\bin\java.exe %l %*
註:
  1. %l 是字母 l,不是數字 1。
  2. 若您的 Java 安裝在 C:\Program Files\IBM\Java142\ 以外的目錄,請取代成您的目錄。

使用 bootclasspath

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

請勿部署使用 -Xbootclasspath:-Xbootclasspath/p: 選項的應用程式,來置換 core.jar、 graphics.jar、server.jar、security.jar、xml.jar、tools.jar 或 charsets.jar 中的類別, 因為這樣的部署已經違反 Java 2 Runtime Environment 二位元碼授權規定。

指定記憶體回收原則

記憶體回收原則由 -Xgcpolicy JVM Runtime 選項決定。

-Xgcpolicy 採用下列值: optthruput(預設值)或 optavgpause。此選項會控制記憶體回收器行為,在應用程式和整體系統的產能與記憶體回收導致的暫停時間之間做出取捨。

選項及其值的格式為:

-Xgcpolicy:optthruput

-Xgcpolicy:optavgpause

暫停時間

當資料堆的可用空間無法立即滿足應用程式建立物件的嘗試時,記憶體回收器就負責識別未被參照的物件(可回收的記憶體)、刪除這些物件, 以及讓資料堆回到可快速滿足立即與後續配置要求的一種狀態。 這種記憶體回收循環偶而會造成應用程式碼意外地暫停。 因為應用程式的大小和複雜性會增加,且資料堆也相對地變大, 造成此記憶體回收的暫停時間愈來愈久也更明顯。 預設的記憶體回收值 optthruput 可提供很高的產能給應用程式, 但犧牲的就是這些偶而的暫停現象,從暫停幾毫秒到幾秒鐘都有可能, 視資料堆和可回收的記憶體數量而定。

減少暫停時間

optavgpause 選項除了可以大量地減少這些記憶體回收暫停的時間,還可以限制資料堆大小遞增對記憶體回收暫停時間長度的影響。 此選項對於有大量資料堆的配置尤其重要。 與正常執行的程式同時執行一些記憶體回收活動會減少暫停時間。 但隨著暫停時間減少,您可能會發現應用程式的產能也會減少,程度視應用程式而有所不同。

資料堆近乎飽和的環境

若 Java 資料堆接近飽合,且只收回非常少的可回收的記憶體, 則可能因為沒有立即可用的空間而無法立即滿足新建物件的要求。 若資料堆在接近飽合容量的情況下操作, 不論是否使用上述選項,應用程式效能可能會降低; 而且,若持續要求更多資料堆空間,應用程式會收到 OutofMemory 異常狀況,萬一未捕捉並處理異常狀況,則將導致 JVM 終止。 此時,JVM 會產生兩個診斷檔案:Heapdump 和 Javadump。這些在 Diagnostics Guide for Java 1.4.2 一書當中有詳細介紹,可用來判斷發生大量 Java 資料堆的原因。 您可以在 developerWorks 網站上找到這個 Diagnostics Guide,網址為: http://www-106.ibm.com/developerworks/java/jdk/diagnosis/。在這些狀況下,建議您使用 -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/

| | |

實作 RMI 連線處理程式儲存池

|

依預設,啟用 RMI 連線處理程式的執行緒儲存池。

|

若要啟用在RMI TCPTransport 層次實作的連線儲存池,請設定選項 |

|
-Dsun.rmi.transport.tcp.connectionPool=true(或任何非空值)
|

本版 Runtime Environment 不提供讓您限制連線儲存池中執行緒數目的任何設定。

JVM 如何處理信號

當發生 JVM 所要處理的信號時,就會呼叫信號處理程式。 此信號處理程式會判斷是 Java 或非 Java 執行緒呼叫它。 若信號是針對 Java 執行緒,則 JVM 會接手信號處理。 如果信號是針對非 Java 執行緒,且安裝 JVM 的應用程式先前已安裝自己的信號處理程式, 則控制權會移轉給該處理程式。否則,忽略信號 (不論這是否為信號的預設動作)。這項規則的例外是 Windows,其中對於外部產生的信號 (例如,當您按下 CTRL-C 或 CTRL-BREAK 時),將建立新的執行緒來執行信號處理程式。 在此情況下,JVM 信號處理程式會假設信號是針對 JVM。

對於異常狀況和錯誤信號,JVM 的動作如下:

有關如何撰寫啟動程式來指定上述 hook 的資訊, 請參閱:http://www-106.ibm.com/developerworks/java/library/i-signalhandling/。 雖然,這個項目是針對 Java 1.3.1 版而撰寫,但也適用於更新的版本。

對於岔斷信號,JVM 也會進入控制的關機順序, 但這一次視為正常終止,此時它會:

這樣的關機相當於呼叫 Java 方法 System.exit() 來起始關機。

JVM 使用的其他信號則作為內部控制用途,不會造成終止。 唯一要注意的控制信號是 SIGBREAK, 它會導致 Javadump 產生。

JVM 使用的信號

下列表 1 顯示 JVM 使用的信號。 表格中的信號依類型或用途分類如下:

表 1. JVM 使用的信號
信號名稱 信號類型 說明 透過 -Xrs 來停用
SIGSEGV 異常狀況 不正確存取記憶體(寫入無法存取的記憶體)
SIGILL 異常狀況 不合法指令(嘗試呼叫不明的機器指令)
SIGFPE 異常狀況 浮點數異常狀況(除以零)
SIGABRT 錯誤 異常終止。JVM 每偵測到 JVM 錯誤時就發出此信號。
SIGINT 岔斷 互動式岔斷(CTRL-C)。JVM 正常結束。
SIGTERM 岔斷 終止要求。JVM 將正常結束。
SIGBREAK 控制 來自終端機的中斷信號。JVM 使用此信號來取得 Javadump。

請使用 -Xrs(減少使用信號)選項來防止 JVM 處理太多信號。 如需詳細資訊,請參閱 Sun 的 Java 應用程式啟動程式網頁,網址是: http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html

信號 2 (SIGINT)4 (SIGILL)6 (SIGABRT)8 (SIGFPE)11 (SIGSEGV)15 (SIGTERM) 會導致 JVM 關機;因此,應用程式信號處理常式不應該嘗試從這些信號回復, 除非不再需要 JVM 的服務。

鏈結原生的程式碼驅動程式與信號鏈結程式庫

Runtime Environment 含有信號鏈結機能。信號鏈結可讓 JVM 更有效率地與安裝了專屬信號處理程式的原生程式碼相互作用。

信號鏈結機能可讓應用程式在 msvcrt.dll 之前先鏈結和載入共用的程式庫 jsig.dll。jsig.dll 程式庫可以確保一定截取到 signal() 的呼叫,不讓它們的處理程式取代 JVM 的信號處理程式。 這些呼叫會改成儲存新的信號處理程式,或將它們「鏈結」在 JVM 安裝的處理程式後面。 稍後,一旦發出這些信號且發現不是針對 JVM 所發出的,則呼叫預先安裝的處理程式。

若要使用 jsig.dll,將它與建立或內嵌 JVM 的應用程式鏈結起來。

使用 Java 外掛程式

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

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

支援的瀏覽器

表 2. Java 外掛程式支援的瀏覽器
作業系統 Internet Explorer 預設版本 Internet Explorer 支援版本 Netscape 預設版本 Netscape 支援版本
Windows 98 5.0(第二版) 5.5 SP2、6.0 4.77、6.2.2
Windows ME 5.5 5.5 SP2、6.0 4.77、6.2.2
Windows NT 4.0 SP6a 5.5 SP2、6.0 4.77、6.2.2
Windows 2000 SP2 5.01 5.5 SP2、6.0 4.77、6.2.2
Windows XP 6.0 6.0 4.77、6.2.2
Windows Server 2003 6.0 6.0 4.77、6.2.2

使用 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 檔案的編碼:

使用原生協助技術來執行 Java 應用程式

Sun 提供 Java Access Bridge 來賦予原生 Windows 協助技術,例如螢幕讀取器,以便在 Java 應用程式中存取 Java Accessibility 支援。這些原生 Windows 協助技術必須能支援呼叫 Java Access Bridge。

從 SUN 所取得的 Java Access Bridge 會包含安裝程式,會將下列五個檔案放在正確的目錄中:access-bridge.jar、jaccess.jar、accessibility.properties、JavaAccessBridge.dll 與 WindowsAccessBridge.dll。 jaccess.jar 的複本會放 在與 JawBridge 一起使用的適當目錄中出貨。

如果您已經安裝 IBM Accessibility Bridge (JawBridge),便可允許 Windows 2000 Magnifier 與 Swing 應用程式一起運作,而且您可以讓它與 Java Access Bridge 同時來執行,並編輯 accessibility.properties 檔中的一行以便讀取:

assistive_technologies=com.sun.java.accessibility.AccessBridge, JawBridge

請在此行前面加上 #,將此行作為註解,以便停止啟用這兩個橋接器。這個網站會告訴您如何下載 Java Access Bridge:

http://java.sun.com/products/jfc/accessibility.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.2/docs/guide/jws/index.html

使用輸入法編輯器

使用輸入法編輯器 (IME) 時,建議您在將工作區用於任何其他作業之前,應該先完成字元組合以及選取所要文字的作業。

已知的限制

如果您在 JTextArea、JTextField 或 JFileChooser 中輸入 DBCS 字元, 則將某些「中文 IME」(尤其是「中文內碼」和 Zhengma)切換成「智慧型 ABC IME」時,可能會造成當機。

|下列限制適用於 Windows XP 日文版及 Windows XP 繁體中文版。如果使用者在使用 IME 的同時於 AWT TextArea 中輸入文字,並在確定文字之前調整應用程式的視窗大小,則會自動進行文字確定。

對於本「使用手冊」是否有任何意見?

如果您對於本「使用手冊」的效用或其他方面有任何的批評指教,歡迎您使用下列其中一種管道將您的意見提供給我們參考。請注意,這些管道的設立並不是為了要回答技術上的疑問,而只是為了要取得有關文件的意見。請使用下列方法來傳送您的意見:

細則。 選擇傳送訊息給 IBM 即代表您同意訊息中包含的所有資訊,包括回應資料,如問題、意見、建議,或類似資料,均得視為非機密資訊,而且,關於此類資訊,IBM 並無任何義務,且 IBM 得自由重製、使用、公開及散佈此等資訊予他人,不受任何限制。此外,IBM 亦得自由將此種資訊中所含的任何想法、概念、知識或技術用於任何用途,包括但不限於開發、製造及行銷包含此種資訊的產品。

注意事項

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

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

Java 以及所有以 Java 為基礎的商標及標誌圖都是 Sun Microsystems, Inc. 在美國及(或)其他國家的商標或註冊商標。

Microsoft、Windows、Windows NT 和 Windows 標誌是 Microsoft Corporation 在美國及(或)其他國家的商標。

Intel、Intel Insdie(標誌)、MMX 和 Pentium 是 Intel Corporation 在美國及(或)其他國家的商標。

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

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