In den folgenden Abschnitten werden die Änderungen zusammengefasst, die in allen Java SE 8u181 BPRs vorgenommen wurden. Fehlerbehebungen und andere Änderungen sind unten in der Reihenfolge des Datums aufgeführt, die aktuellste BPR zuerst. Beachten Sie, dass Fehlerbehebungen in früheren BPR auch in der aktuellen BPR enthalten sind.
Um die Version Ihrer JDK-Software zu ermitteln, verwenden Sie den folgenden Befehl:
java -version
Bugfixes
BugId | Component | Subcomponent | Zusammenfassung |
---|---|---|---|
8211107 | core-libs | javax.naming | LDAPS-Kommunikationsfehler mit jdk 1.8.0_181 |
Bugfixes
BugId | Component | Subcomponent | Zusammenfassung |
---|---|---|---|
8204513 (Vertraulich) |
deploy | deployment_toolkit | Kontextverlust nach Größenänderung des Browserfensters in Applet mit Forms |
Bugfixes
BugId | Component | Subcomponent | Zusammenfassung |
---|---|---|---|
8201818 | client-libs | 2d | [macosx] Druckattribute ändern die über das „java.awt.print.Book“-Objekt eingestellte Seitengröße |
Bugfixes
Bugfixes
BugId | Component | Subcomponent | Zusammenfassung |
---|---|---|---|
8202696 | client-libs | javax.swing | Ausschlussbereich für phonetische Zeichen in windows fontconfig.properties entfernen |
8206242 (Vertraulich) |
deploy | webstart | Java Web Start prüft beim Öffnen der HTTP-Verbindung die Leseberechtigung user.dir. |
Bitte beachten Sie, dass Korrekturen aus der vorherigen BPR (8u172 b37) in dieser Version enthalten sind.
Bugfixes
BugId | Component | Subcomponent | Zusammenfassung |
---|---|---|---|
8195095 | client-libs | javax.swing | Bilder werden in JEditorPane nicht korrekt skaliert |
17. Juli 2018
Die vollständige Versionszeichenfolge für dieses Update-Release lautet 1.8.0_181-b13 (wobei „b“ für „build“ steht). Die Versionsnummer lautet 8u181.
JDK 8u181 enthält die IANA-Zeitzonendatenversion 2018e. Weitere Informationen finden Sie unter Zeitzonendatenversionen (Timezone Data Versions) in der JRE-Software.
Die Sicherheitsgrundlagen für Java Runtime Environment (JRE) zum Zeitpunkt der Veröffentlichung von JDK 8u181 sind in der folgenden Tabelle aufgeführt:
JRE Family Version | JRE Security Baseline (Full Version String) |
---|---|
8 | 1.8.0_181-b13 |
7 | 1.7.0_191-b08 |
6 | 1.6.0_201-b07 |
Die JRE läuft ab, wenn eine neue Version mit Fixes für Sicherheitslücken verfügbar wird. Kritische Patch-Updates, die Behebungen von Sicherheitslücken enthalten, werden ein Jahr im Voraus unter Critical Patch Updates, Security Alerts and Bulletins angekündigt. Diese JRE (Version 8u181) läuft mit der Veröffentlichung des nächsten kritischen Patchupdates ab, das für den 16. Oktober 2018 geplant ist.
Für Systeme, die nicht auf die Oracle Server zugreifen können, läuft diese JRE (Version 8u181) am 16. November 2018 ab. Wenn eine der beiden Bedingungen erfüllt ist (Verfügbarkeit einer neuen Version oder Erreichen des Ablaufdatums), gibt die JRE zusätzliche Warnungen und Erinnerungen an die Benutzer aus, damit diese auf die neuere Version aktualisieren. Weitere Informationen finden Sie unter JRE-Ablaufdatum (JRE Expiration Date).
other-libs/javadb
Java DB, auch bekannt als Apache Derby, wurde in dieser Version entfernt.
Wir empfehlen Ihnen, das neueste Apache Derby direkt aus dem Apache-Projekt zu beziehen:
JDK-8197871 (nicht öffentlich)
core-libs/javax.naming
Die Endpunktidentifizierung wurde für LDAPS-Verbindungen aktiviert.
Um die Stabilität von LDAPS-Verbindungen (Secure LDAP over TLS) zu verbessern, wurden Algorithmen zur Endpunktidentifizierung standardmäßig aktiviert.
Beachten Sie, dass es Situationen geben kann, in denen einige Anwendungen, die zuvor erfolgreich eine Verbindung zu einem LDAPS-Server herstellen konnten, das nicht mehr tun können. Solche Anwendungen können, wenn sie es für angebracht halten, die Endpunktidentifizierung mit einer neuen Systemeigenschaft deaktivieren: com.sun.jndi.ldap.object.disableEndpointIdentification
.
Definieren Sie diese Systemeigenschaft (oder stellen Sie sie auf true
), um Endpunktidentifizierungsalgorithmen zu deaktivieren.
JDK-8200666 (nicht öffentlich)
core-libs/java.io:serialization
Neue Zugriffsprüfungen wurden während der Phase der Objekterstellung bei der Deserialisierung hinzugefügt. Das sollte keine Auswirkungen auf die normale Verwendung der Deserialisierung haben. Allerdings können reflektierende Frameworks, die JDK-interne APIs verwenden, davon betroffen sein. Die neuen Prüfungen können bei Bedarf deaktiviert werden, indem die Systemeigenschaft jdk.disableSerialConstructorChecks auf den Wert „true“ gesetzt wird. Dazu muss das Argument -Djdk.disableSerialConstructorChecks=true in der Java-Befehlszeile eingegeben werden.
JDK-8197925 (nicht öffentlich)
Im Folgenden finden Sie einige der wichtigsten Fehlerbehebungen, die in dieser Version enthalten sind:
core-svc/debugger
Die JDWP-API kann in JDK 8 nicht zum Debuggen von JDK >=9 verwendet werden.
Die Implementierung von VirtualMachineImpl.canGetInstanceInfo() wurde korrigiert, sodass sie nun in der Lage ist, JDK JVMs >= JDK 9 zu erkennen.
Diese Korrektur ermöglicht es bestimmten Debugger-Agenten, korrekt zu arbeiten, ohne dass ein Benutzer (Entwickler) eingreifen muss.
Siehe JDK-8197943
hotspot/gc
Eine Klasse, die durch die nebenläufige Markierung von G1 als unerreichbar eingestuft wurde, kann im ClassLoaderData/SystemDictionary nachgeschlagen werden, und ihre _java_mirror- oder _class_loader-Felder können in einer Root oder einem anderen erreichbaren Objekt gespeichert werden, wodurch sie wieder lebendig wird. Wenn eine Klasse auf diese Weise wiederbelebt wird, muss der SATB-Teil von G1 davon in Kenntnis gesetzt werden, da sonst die nebenläufige Remarking-Markierungsphase diese Klasse fälschlicherweise entlädt.
Bei diesem Absturz konnte JVMTI auf einem Java-Thread die Klassen in der CLD durchlaufen und thread-lokale JNIHandles für den java_mirror der geladenen Klassen speichern, während G1 eine nebenläufige Markierung durchführte und seine Liste der unerreichbaren Klassen vorbereitet hatte. G1 hatte keine Kenntnis von diesen thread-local JNIHandles, und in der Remarking-Phase entlud es die Klassen gemäß seinem vorherigen Wissen über nicht erreichbare Klassen. Als diese JNIHandles später gescannt wurden, führte das zu einem Absturz.
Diese Behebung für JDK-8187577 informiert die SATB von G1 darüber, dass eine Klasse wiederbelebt wurde und nicht entladen werden darf.
Siehe JDK-8187577
hotspot/gc
Bessere Stabilität mit älteren NUMA-Bibliotheken (-XX+UseNuma)
Ein in JDK 8 Update 152 enthaltener Fix führte eine Regression ein, die zum Absturz der HotSpot JVM während des Starts führen konnte, wenn das UseNUMA-Flag auf Linux-Systemen mit Versionen von libnuma älter als 2.0.9 verwendet wurde. Dieses Problem wurde gelöst.
Siehe JDK-8198794
Diese Version enthält auch Fixes für Sicherheitslücken, die im Oracle Critical Patch Update beschrieben werden.
# | BugId | Component | Subcomponent | Zusammenfassung |
---|---|---|---|---|
1 | JDK-8201433 | client-libs | 2d | Potenziellen Absturz in BufImg_SetupICM beheben |
2 | JDK-8198605 | client-libs | java.awt | Touch-Tastatur wird für eine nicht fokussierbare Textkomponente angezeigt |
3 | JDK-8198606 | client-libs | java.awt | Touch-Tastatur wird nicht ausgeblendet, wenn eine Textkomponente den Fokus verliert |
4 | JDK-8199748 | client-libs | java.awt | Touch-Tastatur wird nicht angezeigt, wenn die Textkomponente von einer anderen Textkomponente fokussiert wird |
5 | JDK-8187635 | client-libs | java.awt | Unter Windows ändert Swing das Tastaturlayout bei der Aktivierung eines Fensters |
6 | JDK-8203368 | core-libs | java.io:serialization | ObjectInputStream filterCheck-Methode löst NullPointerException aus |
7 | JDK-8202996 | core-libs | java.rmi | Debug-Druckanweisungen aus dem RMI-Fix entfernen |
8 | JDK-8197943 | core-svc | debugger | JDWP-API kann in JDK 8 nicht zum Debuggen von JDK 9 VM verwendet werden |
9 | JDK-8194690 | deploy | Die im App-V-Paket gebündelte JRE startet keine Java Web Start-Anwendungen | |
10 | JDK-8190689 | deploy | plugin | Java erfordert fälschlicherweise das Cookie-Attribut „HttpOnly“, um die Groß-/Kleinschreibung zu beachten |
11 | JDK-8201133 | deploy | webstart | Fehlerhafte Sicherheitsüberprüfung beim Herunterladen des Haupt-Jar mit jnlp.versionEnabled und der Funktion Deployment Rule Set |
12 | JDK-8189783 | deploy | webstart | Java Web Start-Anwendung mit Dateierweiterungsverknüpfung wird aus dem Cache entfernt, wenn sie zum zweiten Mal aus dem Browser aufgerufen wird |
13 | JDK-8187223 | deploy | webstart | Lange JNLP-Datei wird nicht korrekt geparst und endet mit javaws Pfad |
14 | JDK-8199304 | deploy | webstart | javaws.exe konnte die UTF-8 kodierte JNLP-Datei nicht starten |
15 | JDK-8038636 | hotspot | compiler | Spekulative Fallen brechen ab, wenn Klassen neu definiert werden |
16 | JDK-8156137 | hotspot | compiler | SIGSEGV in ReceiverTypeData::clean_weak_klass_links |
17 | JDK-8188223 | hotspot | compiler | IfNode::range_check_trap_proj() sollte den absterbenden Teilgraphen mit einem single if proj bewältigen |
18 | JDK-8169201 | hotspot | compiler | Montgomery multiply intrinsic sollte den richtigen Namen verwenden |
19 | JDK-8187577 | hotspot | gc | JVM-Absturz bei nebenläufiger Markierung von gc |
20 | JDK-8199406 | hotspot | gc | Performance-Drop mit Java JDK 1.8.0_162-b32 |
21 | JDK-8055008 | hotspot | jvmti | Code bereinigen, der die vorherigen Versionen von neu definierten Klassen speichert |
22 | JDK-8057570 | hotspot | jvmti | RedefineClasses()-Tests nicht erfolgreich assert(((Metadata*)obj)->is_valid()) fehlgeschlagen: obj ist gültig |
23 | JDK-8198794 | hotspot | runtime | Hotspot-Absturz bei Cassandra 3.11.1-Start mit libnuma 2.0.3 |
24 | JDK-8078628 | hotspot | runtime | linux-zero kann nicht ohne vorkompilierte Header gebaut werden |
25 | JDK-8202065 | install | install | jre/bin/javaw.exe fehlt in server-jre für Windows seit 8u171 |
26 | JDK-8199650 | install | install | JDK-Installation deinstalliert öffentliche JRE |
27 | JDK-8200418 | javafx | Internet | webPage.executeCommand("removeFormat", null) entfernt den Stil des body-Elements |
28 | JDK-8196011 | javafx | Internet | Zeitweiliger Absturz bei Verwendung von WebView aus JFXPanel-Anwendung |
29 | JDK-8076117 | security-libs | java.security | EndEntityChecker sollte keine benutzerdefinierten Erweiterungen nach der PKIX-Validierung verarbeiten |
30 | JDK-8170035 | security-libs | javax.net.ssl | Bei der Ermittlung der Ciphersuitelisten gibt es keine Debug-Ausgabe für deaktivierte Suites. |
31 | JDK-8074373 | tools | launcher | NMT wird nicht aktiviert, wenn die Option NMT nach den Klassenpfadangaben angegeben wird |
32 | JDK-8196491 | xml | jax-ws | Zeilenumbrüche in JAXB-String-Werten von SOAP-Anfragen werden zu " " escaped |