版本之間的相容性
這個主題說明當您將 Java™ 應用程式從舊版移至最新版本時的考量。
在現行版本中執行 Java 應用程式時,您應該考量下列相容性問題:
- IBM® Technology for Java 僅支援來自 PASE for i的 JVMTI 介面。 因此, JVMTI 代理程式將需要移轉至 PASE for i。
- 使用 PASE for i 原生方法時,原生程式碼的架構需要符合 JVM 的架構。 也就是說,對於 32 位元 JVM ,物件二進位檔需要編譯成 32 位元二進位檔,對於 64 位元 JVM ,則需要編譯成 64 位元二進位檔。 這也適用於代理程式,例如使用者提供的 JVMTI 代理程式。
- Java 系統內容
java.version無法辨識為 IBM Technology for Java JVM 的輸入內容。 在舊版中,提供了 Classic JVM ,允許使用java.versionJava 系統內容作為輸入,以決定要使用哪一個 JDK。 從 IBM i 7.1開始, IBM Technology for Java 是唯一可用的 JVM ,它需要指定環境變數 JAVA_HOME 以決定要使用哪一個 JDK。 - 在「典型 JVM」中, Java 方法
System.getenv()會傳回適當 ILE 環境變數的值。 在 IBM Technology for Java 中,這會改為傳回 PASE for i 環境變數。 這可能會導致使用者在 ILE 原生方法中設定環境變數,並預期稍後呼叫System.getenv()來擷取它時發生問題。 一般而言,使用者必須注意 ILE 及 PASE for i 具有自己的不聯合環境變數集。 - IBM i 6.1中已停止直接處理的支援。 在 IBM i 7.1中,將繼續支援 Java 程式指令,但僅在使用它們以舊版為目標時。 如需相關資訊,請參閱 IBM i 6.1 的 版本至版本相容性 小節。 從 i 7.2開始,不再支援所有 Java 程式指令。