Migrowanie z wcześniejszych wersji produktu IBM SDK, Java Technology Edition

Uwagi dotyczące migracji z wcześniejszych wersji produktu IBM® SDK, Java™ Technology Edition.

Ta wersja zawiera wiele nowych funkcji i funkcji w porównaniu z wcześniejszymi wersjami, co może wymagać starannego planowania. Więcej informacji na ten temat zawiera sekcja Co nowego .

Ważne zmiany

W przypadku przeprowadzania migracji z produktu IBM SDK, Java Technology Edition 7 lub wersji 7, wydanie 1, zastosowanie mają następujące zmiany:
  • W systemie z/OS®komponent JRIO jest nieaktualny w produkcie IBM SDK, Java Technology Edition 7 i jest usuwany z tej wersji. Zamiast tego należy użyć urządzeń we/wy akt, które są udostępniane w komponencie JZOS. Więcej informacji na temat produktu JZOS zawiera sekcja Java Batch Launcher and Toolkit for z/OS.
  • Właściwość systemowa jdk.map.althashing.threshold nie jest już dostępna w tej wersji, ponieważ alternatywny algorytm kodowania mieszającego dla map mieszanych nie jest już używany. Alternatywny algorytm kodowania mieszającego został wprowadzony we wcześniejszych wersjach środowiska Java w celu zwiększenia wydajności produktu java.util.HashMap w określonych warunkach. Ta implementacja jest udoskonalana w tej wersji przy użyciu zrównoważonych drzew, a nie dowiązanych list do zapisywania wpisów na mapie. Klasy WeakHashMap i Hashtable powracają do zachowania przed alternatywnym algorytmem mieszającym. Jednak zmiany w klasach HashMap i HashSet mogą zmieniać kolejność iteracji elementów zwracanych z odwzorowań mieszanych.
  • Narzędzie do przetwarzania adnotacji nie jest już dostarczane z tą wersją. Narzędzie jest nieaktualne w wersji 7 i jest zastępowane przez funkcję API Pluggable Annotation Processing (JSR269). Jeśli używane jest przetwarzanie adnotacji, należy przeprowadzić migrację do tego nowego obiektu, który został wprowadzony w wersji 6. Więcej informacji na ten temat można znaleźć pod adresem https://docs.oracle.com/javase/7/docs/technotes/guides/apt/index.html.
  • Funkcja ułatwień dostępu IBM , JawBridge, nie jest już obsługiwana w tej wersji. Aby korzystać z lektora ekranowego, takiego jak JAWS dla systemu Windows, należy skonfigurować środowisko wykonawcze w taki sposób, aby korzystało z mostu Oracle Java Access Bridge. Więcej informacji na ten temat zawiera sekcja Włączanie obsługi ułatwień dostępu Java.
  • Narzędzie jdkconv nie jest dołączone do tego wydania.
  • Mechanizm Nashorn Javascript Engine zastępuje implementację Rhino w tej wersji. Plik Rhino javascript.jar jest usuwany z katalogu jre/lib/ext .
  • W systemie AIX®paleta kolorów środowiska Common Desktop Environment (CDE) obsługuje teraz wysokie ustawienia kolorów. W rezultacie domyślne ustawienia produktu SystemColor dla pakietu Abstract Windows Toolkit (AWT) są teraz takie same jak w przypadku wcześniejszych wersji pakietu Motif Toolkit. Aby powrócić do wcześniejszych ustawień palety kolorów AWT, ustaw właściwość systemową ibm.awt.mediumColor na wartość true. Więcej informacji na ten temat zawiera sekcja -Dibm.awt.mediumColor option w sekcji Opcje wiersza komend różnych właściwości systemowych.
  • Właściwość systemowa com.ibm.IgnoreMalformedInput zostanie usunięta w tej wersji, ponieważ ma ona zastosowanie tylko do konwerterów we/wy, które nie są już dostępne w środowisku Java SE 8.
  • Właściwość systemowa ibm.stream.nio zostanie usunięta w tej wersji. Funkcja tej właściwości miała umożliwić użycie konwerterów NIO domyślnie zamiast konwerterów we/wy. Jednak konwertery we/wy nie są już dostępne w środowisku Java SE 8, a więc właściwość jest nadmiarowa.
  • Z tej wersji broker ORB automatycznie zarządza liczbą współbieżnych połączeń z punktem końcowym serwera. Ta zmiana w zachowaniu może powodować pewne problemy, które są szczegółowo opisane w sekcji Problemy z zarządzaniem połączeniami autonomicznymi.
  • AIX, Linux®i z/OS: klawisz ALT nie wyróżnia już pierwszego menu w aktywnym oknie interfejsu użytkownika, o ile aplikacja nie korzysta z funkcji Look and Feel (com.sun.java.swing.plaf.windows.WindowsLookAndFeel) systemu Windows.
  • Nazwa zestawu znaków IBM1047_LF została zmieniona na x-IBM1047_LF.
  • Początek zmian dla odświeżenia usługi 5Z odświeżenia usługi 5 w systemie z/OSistnieje nowe minimalne wymagania sprzętowe systemu IBM System z9® lub nowszego. Starsze systemy z800 i z900 nie są już obsługiwane.Koniec zmian dla odświeżenia usługi 5
  • Początek zmian dla odświeżenia usługi 5Linux: W celu spełnienia wymagań dotyczących dynamicznego łączenia, należy zainstalować standardową bibliotekę C++ libstdc++.so.6.Koniec zmian dla odświeżenia usługi 5
  • Początek zmian dla odświeżenia usługi 5W celu obsługi zwartego Strings (-XX:+CompactStrings), java.lang.String nie zawiera już pola przesunięcia, które jest używane do wskazania początku String w bazowych danych char[] . Wydajność może mieć wpływ na użycie następujących metod w kodzie dla wartości beginIndex innych niż zero:
    • String.substring(int beginIndex)
    • String.substring(int beginIndex, int endIndex)

    We wcześniejszych wersjach tworzona jest nowa String , ale bazowy char[] jest współużytkowany z oryginalnym String , dzięki czemu nie są kopiowane żadne dane produktu char[] . Jeśli wydajność jest znacznie pogorszona, ponieważ dane produktu char[] są teraz kopiowane, spróbuj ponownie zaimplementować kod, aby uniknąć kopiowania danych produktu String .

    Uwaga: Aplikacje napisane w celu uruchomienia w implementacjach języka Java korzystających z maszyny wirtualnej HotSpot są niezmienione, ponieważ dane produktu String są kopiowane, nawet jeśli używany jest parametr beginIndex o wartości zero.
    Koniec zmian dla odświeżenia usługi 5
  • Początek zmian dla odświeżenia usługi 5W czasie odświeżania usługi 5 następujące zmiany mają zastosowanie do maszyny wirtualnej IBM J9 :
    • Wartość domyślna opcji -Xloaminimum jest zmieniana z 0 na 0.01. To ustawienie przydziela minimalny obszar użytków w wysokości 1% do dużego obszaru obiektu (LOA) zamiast 0%.
    • Rozszerzenia zostały wprowadzone do komponentów IBM Garbage Collector and Memory Pool MXBeans, aby udostępnić bardziej szczegółowe informacje na temat działania czyszczenia pamięci i powiązanych pul pamięci. Jeśli aplikacja do monitorowania jest zapisywana w celu oczekiwania tylko jednej puli pamięci sterty lub zależy od nazwy puli pamięci Java heap, można przywrócić wcześniejszą implementację za pomocą opcji -XX:+HeapManagementMXBeanCompatibility . Więcej informacji na temat tej opcji oraz nowych nazw MemoryPool i GarbageCollector zawiera sekcja -XX: [ + |-]HeapManagementMXBeanCompatibility.
    • Metoda OperatingSystemMXBean.getProcessCpuTime() jest zmieniana tak, aby zwracała wartości w nanosekundach zamiast w setkach nanosekundów. Jeśli aplikacja korzysta z tej metody, zmodyfikuj aplikację lub przywróć poprzednie działanie, używając właściwości systemowej -Dcom.ibm.lang.management.OperatingSystemMXBean.isCpuTime100ns .
    • Narzędzie do instrumentacji środowiska wykonawczego, dostępne w procesorach Power ® 8, zEC12i nowszych, jest domyślnie wyłączone. To narzędzie można włączyć za pomocą opcji -XX: +RuntimeInstrumentation .
    Koniec zmian dla odświeżenia usługi 5
  • Początek zmian dla odświeżenia usługi 5 z pakietem poprawek 5Minimalny obsługiwany poziom konserwacyjny dla systemu AIX V6.1 to obecnie TL9.Koniec zmian dla odświeżenia usługi 5 z pakietem poprawek 5
  • Początek zmian dla odświeżenia usługi 5 z pakietem poprawek 25Domyślna wielkość pamięci podręcznej współużytkowanych klas wynosi obecnie 300 MB, z wyjątkami dla trwałych pamięci podręcznych z mniej niż 6 GB wolnego miejsca na dysku oraz nietrwały pamięci podręczne w systemie Linux. Więcej informacji na ten temat zawiera sekcja -Xshareclasses.Koniec zmian dla odświeżenia usługi 5 z pakietem poprawek 25
  • Początek zmian dla odświeżenia usługi 5 z pakietem poprawek 30Domyślne uprawnienia katalogu pamięci podręcznej współużytkowanych klas są bardziej restrykcyjne w systemach operacyjnych innych niż Windows. Więcej informacji na ten temat zawiera sekcja -Xshareclasses:cacheDirPerm.Koniec zmian dla odświeżenia usługi 5 z pakietem poprawek 30
  • Początek zmian dla odświeżenia usługi 5 z pakietem poprawek 35Domyślna wielkość stosu dla wątków systemu operacyjnego w 64-bitowym systemie z/OS została zmieniona z 384 KB na co najmniej 1 MB. Więcej informacji na temat tego ustawienia zawiera sekcja -Xmso.Koniec zmian dla odświeżenia usługi 5 z pakietem poprawek 35
  • Początek zmian dla odświeżenia usługi 5 z pakietem poprawek 40Implementacja JDWP jest zastępowana odpowiednikiem OpenJDK , więc niektóre opcje komendy zostały zmienione. Więcej informacji na ten temat zawiera pomoc dla wiersza komend:
    java -agentlib:jdwp=help
    Koniec zmian dla odświeżenia usługi 5 z pakietem poprawek 40
  • Początek zmian dla odświeżenia usługi 5 z pakietem poprawek 40Zmiany w wewnętrznych interfejsach API przyłączenia mają wpływ na wewnętrzną bibliotekę klas pakietu SDK oraz pliki tools.jar i healthcenter.jar :
    • Jeśli aplikacja korzysta z prywatnej kopii pliku tools.jar z wcześniejszej wersji, aplikacja może nie być w stanie użyć funkcji API dołączania w tej wersji, ponieważ klasy Java nie są zgodne. Zamiast tego należy użyć pliku tools.jar z tej wersji.
    • Podobnie plik healthcenter.jar z tej wersji nie jest kompatybilny z wcześniejszymi wersjami.
    Koniec zmian dla odświeżenia usługi 5 z pakietem poprawek 40
  • W przypadku pakietu poprawek 41 odpowiednia wielkość sterty dla aplikacji jest automatycznie określana i stosowana. Więcej informacji na ten temat można znaleźć w sekcji -XX: [ + |-]UseGCStartupHints.
  • Począwszy od pakietu poprawek 41, Przezroczyste Wielkie Strony (THP) są domyślnie włączone podczas używania ustawienia madvise (/sys/kernel/mm/transparent_hugepage/enabled) w systemie Linux w systemach x86 . Więcej informacji na ten temat zawiera strona -XX: [ + |-]TransparentHuge.
  • Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 10Opcja -XX:[+|-]ExitOnOutOfMemoryError jest aktualizowana, aby wyjść tylko z maszyny VM OutOfMemoryErrors , a nie z błędami maszyny VM i Java, aby były zgodne z opcją Hotspot. Więcej informacji na ten temat zawiera sekcja -XX:[+|-]ExitOnOutOfMemoryError.Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 10
  • Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 10Implementacja obsługi sygnału IBM jest zastępowana w tej wersji przy użyciu implementacji OpenJDK . W rezultacie opcja wiersza komend właściwości systemu -Dcom.ibm.signalhandling.ignoreLogoff jest teraz ignorowana. Więcej informacji na ten temat zawiera sekcja Opcje wiersza komend różnych właściwości systemowych.Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 10
  • Certyfikaty serwera Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 25TLS, które są zakotwiczane przez uprawnienia głównego certyfikatu firmy Symantec, są obecnie niestrudzane. Więcej informacji na ten temat zawiera sekcja Co nowego: odświeżanie serwisowe 6 z pakietem poprawek 25.Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 25
  • Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 30Protokoły bezpieczeństwa TLS 1.0 i 1.1 są domyślnie wyłączone. Więcej informacji na ten temat zawiera sekcja Co nowego: odświeżanie serwisowe 6 z pakietem poprawek 30.Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 30
  • Początek zmian dotyczących odświeżenia usługi 7IBMJCEPlus to domyślny dostawca zabezpieczeń. Tę aktualizację można przywrócić, zmieniając kolejność dostawców w pliku jre/lib/security/java.security w katalogu instalacyjnym pakietu SDK. Więcej informacji na ten temat zawiera sekcja Włączanie dostawców IBMJCEPlus i IBMJCEPlusFIPS.Koniec zmian dla odświeżenia usługi 7

Dezaktualizacje i usunięcia

W tej wersji mają zastosowanie następujące instrukcje dezaktualizacji i usunięcia:
  • Implementacja IBM XML jest nieaktualna i zostanie zastąpiona implementacją XML Oracle w przyszłej wersji.
  • Opcja -Xgc:splitheap jest nieaktualna i zostanie usunięta z przyszłej wersji maszyny wirtualnej Eclipse OpenJ9 VM.
  • Opcja -Xfastresolve jest nieaktualna i zostanie usunięta z przyszłej wersji maszyny wirtualnej Eclipse OpenJ9 VM.
  • Opcja -Xlp jest nieaktualna i zostanie usunięta z przyszłej wersji maszyny wirtualnej Eclipse OpenJ9 VM. Zamiast tego należy użyć opcji -Xlp:objectheap , aby przydzielić stertę obiektów Java przy użyciu dużych wielkości stron i opcji -Xlp:codecache , aby przydzielić pamięć podręczną kodu JIT za pomocą dużych wielkości stron.
  • Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 20The com.ibm.lang.management.MemoryMXBean.getGCMasterThreadCpuUsed() and com.ibm.lang.management.MemoryMXBean.getGCSlaveThreadsCpuUsed() methods are deprecated and will be removed from a future release of the Eclipse OpenJ9 VM. Zamiast tego należy użyć metod com.ibm.lang.management.MemoryMXBean.getGCMainThreadCpuUsed() i com.ibm.lang.management.MemoryMXBean.getGCWorkerThreadsCpuUsed() .Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 20
  • Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 25usuwane są następujące zestawy algorytmów szyfrowania JSSE:
    • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
    • SSL_RSA_FIPS_WITH_DES_CBC_SHA
    Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 25
  • Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 25Właściwości renegocjacji TLS com.ibm.jsse2.renegotiate i com.ibm.jsse2.extended.renegotiation.indicator są zastępowane przez nowe właściwości com.ibm.jsse2.allowUnsafeRenegotiation i com.ibm.jsse2.allowLegacyHelloMessages. Użycie wcześniejszych właściwości nie ma żadnego efektu i nie jest generowany żaden komunikat ostrzegawczy. Więcej informacji na temat nowych właściwości znajduje się w publikacji Transport Layer Security (TLS) Renegotiation Issue w podręczniku zabezpieczeń.Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 25
  • Początek zmian dla odświeżenia usługi 6 z pakietem poprawek 35Domyślna wielkość stosu systemu operacyjnego w systemach AIX i Linux w 64-bitowym systemie IBM Power Systems została zwiększona z 256 kB do 512 KB.Koniec zmian dla odświeżenia usługi 6 z pakietem poprawek 35

Migracja z wcześniejszych wersji

Jeśli przeprowadzana jest migracja z wersji wcześniejszej niż wersja 7, należy przeczytać temat Migrowanie z wcześniejszych wersji w odpowiednim podręczniku użytkownika platformy dla wersji 7. Te podręczniki użytkownika można znaleźć na następującej stronie: IBM SDK, Java Technology Edition, wersja 7.