本產品版本支援 Java™ Platform Standard Edition (Java SE) 6 規格。它的 Java 虛擬機器提供 Java 語言編譯器和執行時期環境。決定新的和現有的應用程式是否使用 Java SE 6 新增的功能,必要的話調整即時 (JIT) 模式,然後開始從已淘汰的功能轉移。
關於這項作業
Java SE 6 中引進下列 JSR:
- JSR 105:XML 數位簽章應用程式設計介面 (API)
- JSR 173:Streaming API for XML (StAX)
- JSR 181:Web 服務 meta 資料
- JSR 199:Java 編譯器 API
- JSR 202:Java 類別檔規格更新
- JSR 221:Java 資料庫連線功能 (JDBC) 4.0
- JSR 222:Java Architecture
for XML Binding (JAXB) 2.0
- JSR 223:Scripting for the Java Platform
- JSR 224:Java API for XML-Based
Web Services (JAX-WS) 2.0
- JSR 250:共用註釋
- JSR 269:插入式註釋處理 API
新的虛擬機器規格新增許多項有益於應用程式開發人員的特性和功能,例如用於整合 Java 和 Scripting 語言的介面、密碼提示、檔案輸入輸出加強功能,以及剖析串流式 XML 文件。
程序
決定是否使用預設的即時 (JIT) 模式。 在 Java SE 6 中,Solaris 虛擬機器的預設 JIT 模式取決於硬體配置。不一定都是 client。
在 Java SE 6 中,對於伺服器類別硬體(指 2+ CPU 和大於 2 GB RAM),虛擬機器會自動切換至 server JIT 模式。
如果依喜好配置 -server 或 -client 參數,請設定伺服器程序定義的通用 Java 虛擬機器引數。
請參閱 Java 虛擬機器設定。
- 決定在應用程式中是否使用新的 Java SE 6 功能。
使用 Java SE 6 特性的應用程式只能部署到第 7 版或更新版本的節點,因為舊版的產品不提供 Java SE 6 虛擬機器。
存取 Java 虛擬機器內部類型和 API 的應用程式可能會產生錯誤。這些類別和 API 不在 Java SE
6 規格內,因此可能會變更。強烈建議直接使用 XML 和 XSL 剖析器的實作,例如直接使用為虛擬機器提供 Java API for XML Processing (JAXP) 實作的 Xerces 和 Xalan 類別。
直接的剖析器 API 也屬於內部,可能會變更。應用程式應該只依賴 Java SE 6 API 文件中定義的 JAXP API。如果應用程式需要特定版本的 Xerces 或 Xalan,或其他某些 XML/XSL 剖析器套件,請將剖析器內嵌到應用程式的 WEB-INF/lib 目錄內,並在應用程式部署中設定適當的類別載入模式,以便從應用程式類別路徑載入應用程式所需的 XML 剖析器 API,而非從 Java 虛擬機器引導類別路徑載入。
如果不遵循此準則,嘗試移轉到新的 Java SE 6 層次時可能會造成重大錯誤。
- 設定編譯器模式,將 Java SE 6 應用程式編譯成能夠在先前的 Java 虛擬機器層次上執行。
想要將使用 Java SE
6 所建置的應用程式編譯成能夠在先前的規格上執行時,請指定 Java SE 6 編譯器的 -source 和 -target 模式。
這樣做可以確保所產生的位元組碼與舊版的 Java 虛擬機器相容。
比方說,如果目標 Java 虛擬機器是 1.4.2 層次,當您使用 Java SE 6 編譯應用程式時,應該指定 -source 1.4 和 target 1.4,才能產生 1.4.2 相容的位元組碼。
這無關於使用對 Java SE 6 而言全新的套件、類別或函數。只是解決位元組碼輸出。如果開發人員打算在多個 Java 虛擬機器規格層次上執行應用程式,必須注意他們使用 J2SE 套件中的哪些 API。
- 解決先前編譯的 Java 2 Standard Edition (J2SE) 1.4 和 5.0 應用程式的不相容性。
Java SE 6 在二進位方面向上相容於 Java 2
Technology Edition 5.0 版和 Java 2 Technology Edition 1.4.2 版,但 Oracle Corporation 在 http://java.sun.com/javase/technologies/compatibility.jsp 所記載的不相容性除外。
- 從已淘汰的 Java 虛擬機器除錯介面 (JVMDI) 和 Java 虛擬機器側寫介面 (JVMPI) 函數轉移到 Java 虛擬機器工具介面 (JVMTI)。
已淘汰的特性: J2SE 5.0 中已淘汰 JVMDI 和 JVMPI 函數。已從 Java SE 6 中移除。
depfeat
- 更新您使用的 Java 指令行介面。
自 J2SE 5 起,Java SE 6 層次的指令行介面並無太大變更,只是在不同的虛擬機器供應商之間有所不同。
您可以在
JAVA_HOME/bin 目錄中找到它們。
以下是所有 Java SE 6 實作共通的一些值得注意的標準指令行選項。
- 在 JVMTI 中,使用 -agentlib 載入您指定的原生代理程式庫。
- 在 JVMTI 中,使用 -agentpath 依完整路徑名稱載入原生代理程式庫。
- 在 JVMTI 中,使用 -javaagent 載入 Java 程式設計語言代理程式(詳細資料請參閱 java.lang.instrument)。
- 如需這個支援註釋功能的新指令行的相關資訊,請參閱 apt -help。
- 如果這個指令行的相關資訊及最新功能,請參閱 javac -help。
- 更新 ANT 作業。
如果您根據本產品舊版本隨附的 idltojava ANT 作業建立 ANT 作業,請確定它在 Java SE 6 中傳遞適當的參數,就像在 J2SE 1.4 或 5 中一樣,以確保它所產生的 Stub、連結空間和架構與舊版產品相容。