Von früheren Releases von IBM SDK, Java Technology Edition migrieren

Hinweise zur Migration von früheren Releases von IBM® SDK, Java™ Technology Edition.

Dieses Release enthält viele neue Features und Funktionen im Vergleich zu früheren Releases, daher ist eine sorgfältige Planung erforderlich. Eine Übersicht finden Sie im Abschnitt Neuerungen .

Wichtige Änderungen

Wenn Sie eine Migration von IBM SDK, Java Technology Edition Version 7 oder Version 7 Release 1 durchführen, gelten die folgenden Änderungen:
  • Für z/OS®wird die JRIO-Komponente in IBM SDK, Java Technology Edition Version 7 nicht weiter unterstützt und aus diesem Release entfernt. Verwenden Sie stattdessen die Ein-/Ausgabefunktionen für Datensätze, die in der Komponente JZOS bereitgestellt werden. Weitere Informationen zu JZOS finden Sie unter Java Batch Launcher and Toolkit for z/OS.
  • Die Systemeigenschaft jdk.map.althashing.threshold ist für dieses Release nicht mehr verfügbar, weil der alternative Hashalgorithmus für Hashzuordnungen nicht mehr verwendet wird. Der alternative Hashalgorithmus wurde in früheren Releases von Java eingeführt, um die Leistung von java.util.HashMap unter bestimmten Bedingungen zu verbessern. Diese Implementierung wird durch die Verwendung von ausgeglichenen Baumstrukturen anstelle von verketteten Listen zum Speichern von Zuordnungseinträgen in diesem Release verbessert. Die Klassen WeakHashMap und Hashtable kehren zum Verhalten vor dem alternativen Hashalgorithmus zurück. Änderungen an den Klassen HashMap und HashSet können die Iterationsreihenfolge von Einträgen ändern, die von Hashzuordnungen zurückgegeben werden.
  • Das Tool zur Verarbeitung von Annotationen (Annotation Processing Tool) wird mit diesem Release nicht mehr bereitgestellt. Dieses Tool wurde in Version 7 nicht mehr verwendet und wird durch die Plug-in-API zur Verarbeitung von Annotationen (Pluggable Annotation Processing API, JSR269) ersetzt. Wenn Sie die Annotationsverarbeitung verwenden, müssen Sie auf diese neue Funktion migrieren, die in Version 6 eingeführt wurde. Weitere Informationen finden Sie unter https://docs.oracle.com/javase/7/docs/technotes/guides/apt/index.html.
  • Die IBM -Zugriffsfunktion JawBridge, wird in dieser Version nicht mehr unterstützt. Wenn Sie ein Sprachausgabeprogramm wie JAWS for Windows verwenden möchten, konfigurieren Sie Ihre Laufzeitumgebung für die Verwendung von Oracle Java Access Bridge. Weitere Informationen finden Sie unter Unterstützung für Java-Eingabehilfen aktivieren.
  • Das Tool jdkconv ist in diesem Release nicht enthalten.
  • Die Nashorn-Javascript-Engine ersetzt die Rhino-Implementierung in diesem Release. Die Rhino-Datei javascript.jar wird aus dem Verzeichnis jre/lib/ext entfernt.
  • Unter AIX®unterstützt die CDE-Farbpalette (Common Desktop Environment) jetzt Einstellungen für hohe Farben. Daher sind die Standardeinstellungen von SystemColor für Abstract Windows Toolkit (AWT) jetzt mit denen von Motif Toolkit in früheren Releases identisch. Sollen wieder die Einstellungen der früheren AWT-Farbpalette verwendet werden, setzen Sie die Systemeigenschaft ibm.awt.mediumColor auf true. Weitere Informationen finden Sie unter -Dibm.awt.mediumColor option in Befehlszeilenoptionen für verschiedene Systemeigenschaften.
  • Die Systemeigenschaft com.ibm.IgnoreMalformedInput wurde in diesem Release entfernt, da sie nur auf Ein-/Ausgabe-Converter anwendbar ist, die in Java SE 8 nicht mehr verfügbar sind.
  • Die Systemeigenschaft ibm.stream.nio wurde in diesem Release entfernt. Die Funktion dieser Eigenschaft war das Aktivieren der standardmäßigen Verwendung von NIO-Convertern anstelle von Ein-/Ausgabe-Convertern. Ein-/Ausgabe-Converter sind jedoch in Java SE 8 nicht mehr verfügbar. Deshalb ist die Eigenschaft redundant.
  • Ab diesem Release verwaltet der Object-Request-Broker (ORB) automatisch die Anzahl gleichzeitiger Verbindungen zum Serverendpunkt. Diese Änderung des Verhaltens kann einige Probleme verursachen, die im Abschnitt Probleme beim autonomen Verbindungsmanagementbeschrieben werden.
  • AIX, Linux®und z/OS: Die Taste ALT hebt das erste Menü im aktiven Fenster der Benutzerschnittstelle nicht mehr hervor, es sei denn, Ihre Anwendung verwendet eine Windows-Darstellung und -Funktionsweise (com.sun.java.swing.plaf.windows.WindowsLookAndFeel).
  • Der Zeichensatzname IBM1047_LF wird in x-IBM1047_LF geändert.
  • Start der Änderungen für Serviceaktualisierung 5Ab Serviceaktualisierung 5 unter z/OSgibt es eine neue Hardwaremindestvoraussetzung für IBM System z9® oder höher. Die älteren z800- und z900-Systeme werden nicht mehr unterstützt.Ende der Änderungen für Serviceaktualisierung 5
  • Start der Änderungen für Serviceaktualisierung 5Linux: Um eine Abhängigkeit vom dynamischen Link zu erfüllen, muss die C + + -Standardbibliothek libstdc++.so.6installiert sein.Ende der Änderungen für Serviceaktualisierung 5
  • Start der Änderungen für Serviceaktualisierung 5Um eine kompakte Strings (-XX:+CompactStrings) zu unterstützen, enthält java.lang.String kein Offset-Feld mehr, das verwendet wird, um den Beginn der String in den zugrunde liegenden char[] -Daten anzugeben. Die Leistung kann beeinträchtigt werden, wenn Sie die folgenden Methoden in Ihrem Code für Werte von beginIndex ungleich null verwenden:
    • String.substring(int beginIndex)
    • String.substring(int beginIndex, int endIndex)

    In früheren Releases wurde eine neue String erstellt, aber die zugrunde liegende char[] wird mit der ursprünglichen String gemeinsam genutzt, sodass keine char[] -Daten kopiert werden. Wenn die Leistung erheblich beeinträchtigt wird, da char[] -Daten jetzt kopiert werden, versuchen Sie, den Code erneut zu implementieren, damit die String -Daten nicht kopiert werden.

    Hinweis: Anwendungen, die für die Ausführung in Java-Implementierungen geschrieben wurden, die HotSpot VM verwenden, sind davon nicht betroffen, da String -Daten kopiert werden, auch wenn beginIndex null ist.
    Ende der Änderungen für Serviceaktualisierung 5
  • Start der Änderungen für Serviceaktualisierung 5In Serviceaktualisierung 5 gelten für IBM J9 Virtual Machine die folgenden Änderungen:
    • Der Standardwert für die Option -Xloaminimum wurde von 0 in 0.01 geändert. Durch diese Einstellung wird dem LOA (Large Object Area) ein Mindest-Tenure-Bereich von 1 % statt 0 % zugeordnet.
    • Die MXBeans für den IBM Garbage-Collector und den Speicherpool wurden erweitert, damit sie detailliertere Informationen zur Zusammenstellung der Garbage-Collection-Aktivität und der zugehörigen Speicherpools bereitstellen. Wenn Ihre Überwachungsanwendung so geschrieben ist, dass sie nur einen Heapspeicherpool erwartet oder auf den Speicherpoolnamen Java heap angewiesen ist, können Sie mit der Option -XX:+HeapManagementMXBeanCompatibility auf die frühere Implementierung zurücksetzen. Weitere Informationen zu dieser Option und den neuen E-Mail-Adressen MemoryPool und GarbageCollector finden Sie unter -XX:[ +|-]HeapManagementMXBeanCompatibility.
    • Die Methode OperatingSystemMXBean.getProcessCpuTime() wurde so geändert, dass sie Werte in Nanosekunden anstatt in Einheiten von Hundert Nanosekunden zurückgibt. Wenn Ihre Anwendung diese Methode verwendet, ändern Sie entweder die Anwendung oder setzen Sie mit der Systemeigenschaft -Dcom.ibm.lang.management.OperatingSystemMXBean.isCpuTime100ns auf das vorherige Verhalten zurück.
    • Die Laufzeitinstrumentierungsfunktion, die in Power ® 8, zEC12und höheren Prozessoren verfügbar ist, ist standardmäßig inaktiviert. Diese Funktion kann mit der -XX:+RuntimeInstrumentation option aktiviert werden.
    Ende der Änderungen für Serviceaktualisierung 5
  • Start der Änderungen für Serviceaktualisierung 5 Fixpack 5Die unterstützte Mindestwartungsstufe für AIX Version 6.1 ist jetzt TL9.Ende der Änderungen für Serviceaktualisierung 5 Fixpack 5
  • Start der Änderungen für Serviceaktualisierung 5 Fixpack 25Die Standardgröße eines Cache für gemeinsam genutzte Klassen beträgt jetzt 300 MB. Ausnahmen sind persistente Caches mit weniger als 6 GB freiem Plattenspeicherplatz und nicht persistente Caches unter Linux. Weitere Informationen finden Sie unter -Xshareclasses.Ende der Änderungen für Serviceaktualisierung 5 Fixpack 25
  • Start der Änderungen für Serviceaktualisierung 5 Fixpack 30Die Standardberechtigungen für das Cacheverzeichnis für gemeinsam genutzte Klassen werden unter anderen Betriebssystemen als Windows strenger. Weitere Informationen finden Sie unter -Xshareclasses:cacheDirPerm. Ende der Änderungen für Serviceaktualisierung 5 Fixpack 30
  • Start der Änderungen für Serviceaktualisierung 5 Fixpack 35Die Standardstackgröße für Betriebssystemthreads unter 64 -Bit- z/OS wurde von 384 KB auf das Betriebssystemminimum von 1 MB geändert. Weitere Informationen zu dieser Einstellung finden Sie in -Xmso.Ende der Änderungen für Serviceaktualisierung 5 Fixpack 35
  • Start der Änderungen für Serviceaktualisierung 5 Fixpack 40Die JDWP-Implementierung wird durch das Äquivalent OpenJDK ersetzt, sodass einige der Befehlsoptionen geändert werden. Weitere Informationen finden Sie in der Befehlszeilenhilfe:
    java -agentlib:jdwp=help
    Ende der Änderungen für Serviceaktualisierung 5 Fixpack 40
  • Start der Änderungen für Serviceaktualisierung 5 Fixpack 40Änderungen an den internen Schnittstellen der Attach-API wirken sich auf die interne Klassenbibliothek des SDK sowie auf die Dateien tools.jar und healthcenter.jar aus:
    • Wenn eine Anwendung eine private Kopie der Datei tools.jar aus einem früheren Release verwendet, kann die Anwendung möglicherweise die Attach-API in diesem Release nicht verwenden, weil die Java-Klassen nicht übereinstimmen. Verwenden Sie stattdessen die Datei tools.jar aus diesem Release.
    • Ebenso ist die Datei healthcenter.jar aus diesem Release nicht mit früheren Releases kompatibel.
    Ende der Änderungen für Serviceaktualisierung 5 Fixpack 40
  • Ab Fixpack 41 wird die entsprechende Größe des Heapspeichers für eine Anwendung automatisch bestimmt und angewendet. Weitere Informationen finden Sie unter -XX:[ +|-]UseGCStartupHints.
  • Ab Fixpack 41 Ist Transparent Huge Pages (THP) standardmäßig aktiviert, wenn Sie die Einstellung madvise (/sys/kernel/mm/transparent_hugepage/enabled) unter Linux auf x86 -Systemen verwenden. Weitere Informationen finden Sie unter -XX:[ +|-]TransparentHugePage.
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 10Die Option -XX:[+|-]ExitOnOutOfMemoryError wird so aktualisiert, dass sie nur auf VM OutOfMemoryErrors und nicht sowohl auf VM-als auch auf Java-ausgelösten Fehlern beendet wird, damit sie mit der Hotspot-Option übereinstimmt. Weitere Informationen hierzu finden Sie im Abschnitt -XX:[+|-]ExitOnOutOfMemoryError.Ende der Änderungen für Serviceaktualisierung 6 Fixpack 10
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 10Die Implementierung der IBM Signalverarbeitung wird in diesem Release durch die Implementierung von OpenJDK ersetzt. Daher wird die Befehlszeilenoption -Dcom.ibm.signalhandling.ignoreLogoff für Systemeigenschaften jetzt ignoriert. Weitere Informationen finden Sie unter Verschiedene Befehlszeilenoptionen für Systemeigenschaften.Ende der Änderungen für Serviceaktualisierung 6 Fixpack 10
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 25TLS-Serverzertifikate, die von Symantec-Stammzertifizierungsstellen verankert werden, sind jetzt nicht mehr vorhanden. Weitere Informationen finden Sie unter Neuerungen: Serviceaktualisierung 6 Fixpack 25.Ende der Änderungen für Serviceaktualisierung 6 Fixpack 25
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 30Sicherheitsprotokolle TLS 1.0 und 1.1 sind standardmäßig inaktiviert. Weitere Informationen finden Sie unter Neuerungen: Serviceaktualisierung 6 Fixpack 30.Ende der Änderungen für Serviceaktualisierung 6 Fixpack 30
  • Start der Änderungen für Serviceaktualisierung 7IBMJCEPlus ist der Standardsicherheitsprovider. Sie können diese Aktualisierung zurücksetzen, indem Sie die Reihenfolge der Provider in der Datei jre/lib/security/java.security in Ihrem SDK-Installationsverzeichnis ändern. Weitere Informationen finden Sie unter Provider IBMJCEPlus und IBMJCEPlusFIPS aktivieren.Ende der Änderungen für Serviceaktualisierung 7

Einstellung der Unterstützung und Entfernen von Komponenten

Die folgenden Hinweise zu veralteten Versionen und Entfernungen gelten für dieses Release:
  • Die XML-Implementierung IBM ist veraltet und wird in einem zukünftigen Release durch die XML-Implementierung Oracle ersetzt.
  • Die Option -Xgc:splitheap ist veraltet und wird aus einem zukünftigen Release von Eclipse OpenJ9 VM entfernt.
  • Die Option -Xfastresolve ist veraltet und wird aus einem zukünftigen Release von Eclipse OpenJ9 VM entfernt.
  • Die Option -Xlp ist veraltet und wird aus einem zukünftigen Release von Eclipse OpenJ9 VM entfernt. Verwenden Sie stattdessen die Option -Xlp:objectheap , um den Java-Objektheapspeicher mit großen Seitengrößen zuzuordnen, und die Option -Xlp:codecache , um den JIT-Code-Cache mit großen Seitengrößen zuzuordnen.
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 20Die Methoden com.ibm.lang.management.MemoryMXBean.getGCMasterThreadCpuUsed() und com.ibm.lang.management.MemoryMXBean.getGCSlaveThreadsCpuUsed() sind veraltet und werden aus einem zukünftigen Release von Eclipse OpenJ9 VM entfernt. Verwenden Sie stattdessen die Methoden com.ibm.lang.management.MemoryMXBean.getGCMainThreadCpuUsed() und com.ibm.lang.management.MemoryMXBean.getGCWorkerThreadsCpuUsed() .Ende der Änderungen für Serviceaktualisierung 6 Fixpack 20
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 25Die folgenden JSSE-Cipher-Suites wurden entfernt:
    • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
    • SSL_RSA_FIPS_MIT_DES_CBC_SHA
    Ende der Änderungen für Serviceaktualisierung 6 Fixpack 25
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 25Die TLS-Neuvereinbarungseigenschaften com.ibm.jsse2.renegotiate und com.ibm.jsse2.extended.renegotiation.indicator werden durch neue Eigenschaften com.ibm.jsse2.allowUnsafeRenegotiation und com.ibm.jsse2.allowLegacyHelloMessagesersetzt. Die Verwendung der früheren Eigenschaften hat keine Auswirkungen, und es wird keine Warnung erzeugt. Weitere Informationen zu den neuen Eigenschaften finden Sie im Abschnitt TLS-Neuvereinbarungsproblem im Sicherheitshandbuch.Ende der Änderungen für Serviceaktualisierung 6 Fixpack 25
  • Start der Änderungen für Serviceaktualisierung 6 Fixpack 35Die Standardgröße des Betriebssystemstacks unter AIX und Linux unter 64 -Bit- IBM Power Systems wurde von 256 KB auf 512 KB erhöht.Ende der Änderungen für Serviceaktualisierung 6 Fixpack 35

Von früheren Releases migrieren

Wenn Sie eine Migration von einem Release vor Version 7 durchführen, lesen Sie den Abschnitt Migration von früheren Releases im Benutzerhandbuch der entsprechenden Plattform für Version 7. Diese Benutzerhandbücher finden Sie auf der folgenden Seite: IBM SDK, Java Technology Edition Version 7