Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Liste der Patches für Amazon Corretto 8
In diesem Abschnitt werden alle Patches aufgeführt, die für Amazon Corretto 8 auf OpenJDK angewendet werden. Außerdem stellen wir Links zu den im OpenJDK-Projekt aufgeführten Problemen zur Verfügung.
- [C8-1] Verhindern vorzeitiger OutOfMemoryException, wenn G1 GC-Aufruf von einem lange andauernden nativen Aufruf unterbrochen wird.
-
Bei Programmen, die G1 GC verwenden, konnten unechte Out-of-Memory(OOM)-Ausnahmen auftreten, auch wenn der Java-Heap noch lange nicht voll war. Dies passierte, wenn eine Spin-Schleife, die auf lange andauernde native Aufrufe gewartet hat, nach nur zwei Runden aufgab. Dieser kleine Patch sorgt dafür, dass die Schleife so lange wartet wie erforderlich. In der Regel sind wenige weitere Runden ausreichend. Im schlimmsten Fall kommt es irgendwann zu einem vollen GC (dank JDK-8137099) und das Problem wird ebenfalls gelöst. Der Patch enthält einen Einheitentest, der mehr als zwei Runden erforderlich macht und nur dann erfolgreich ausgeführt werden kann, wenn der Patch vorhanden ist. Eine entsprechende Diskussion finden Sie unter JDK-8137099
. - [C8-2] Backport von OpenJDK 10 mit FehlerbehebungJDK-8177809
: „File.lastModified () verliert Millisekunden (endet immer in 000).“ -
Der Patch entfernt Inkonsistenzen in der Art und Weise, wie der zuletzt geänderte Zeitstempel einer Datei gemeldet wird. Er standardisiert das Verhalten auf unterschiedlichen Build-Plattformen und Java-Methoden, sodass der Benutzer Präzision in der zweiten Ebene erhält. Siehe JDK-8177809
. - [C8-3] Backport von OpenJDK9,Befestigung von JDK-8150013, „ParNew: Prune nmethods aufspaltbare Liste“.
-
Dieser Patch reduziert Pause-Latenzen für den parallelen und den CMS Garbage Collector. Das „Root Scanning“ von GC wird um bis zu drei Größenordnungen beschleunigt, da redundante Codeinspektionen reduziert werden.
- [C8-4] Backport von OpenJDK 9 mit Fehlerbehebung für JDK-8047338
: „javac is not correctly filtering non-members methods to obtain the function descriptor.“ -
Dieser Patch behebt einen Compiler-Fehler, der Kompilierungszeitfehler hervorgerufen hat, wenn eine funktionale Schnittstelle eine Ausnahme ausgab, die zu einer erweiterten Ausnahme geführt hat.
- [C8-5] Backport von OpenJDK 10 mit Fehlerbehebung für JDK-8144185
: „javac produces incorrect RuntimeInvisibleTypeAnnotations length attribute.“ -
Dieses Problem hat dazu geführt, dass Findbugs, JaCoCo und Checker Framework bei einigen wohlgeformten Eingabeprogrammen fehlschlugen.
- [C8-6] Auslösen von Bereinigung der Zeichenfolgentabelle in G1 auf Grundlage des Wachstums der Zeichenfolgentabelle.
-
Dieser Patch löst „gemischte“ G1-Sammlungen aus, die erforderlich sind, um Einträge der Zeichenfolgentabelle auf Grundlage des Wachstums der Zeichenfolgentabelle zu bereinigen und nicht nur die Java-Heap-Nutzung. Letzteres ist eine unabhängige Messung, die in einigen Anwendungen zu selten oder sogar nie ausgelöst werden kann. Dann kann die Zeichenfolgentabelle unbegrenzt wachsen, was effektiv einem nativen Arbeitsspeicherverlust gleichkommt. Siehe JDK-8213198
. - [C8-7] Backport von OpenJDK 9, fixierenJDK-8149442
: „MonitorInUseLists sollten standardmäßig aktiviert sein, Deflate Leerlaufmonitore dauern zu lange.“ -
Dieser Patch macht das Entfernen von Leistungsengpässen für hochgradig threadintensive Anwendungen zur Standardeinstellung. Das Aktivieren von MonitorInUseLists ermöglicht eine effizientere Verkleinerung nur potenziell verwendeter Monitore anstatt aller Monitore.
- [C8-8] Zurück Port von OpenJDK 11, reparierenJDK-8198794
: „Hotspot absturz beim Start von Cassandra 3.11.1 mit libnuma 2.0.3.“ -
Dieser Patch verhindert, dass Cassandra 3.11.1 während des Starts abstürzt.
- [C8-9] Zurück Port von OpenJDK 11, reparierenJDK-8195115
: „G1 Old Gen MemoryPool CollectionUsage.used values spiegeln keine gemischten GC-Ergebnisse wider.“ -
Ohne diesen Patch ist es bei Verwendung von G1 GC per JMX nicht möglich, zu bestimmen, wie voll der Heap ist.
- [C8-10] Beschleunigen von Class.getSimpleName() und Class.getCanonicalName().
-
Speicherung beschleunigt diese Funktionen erheblich. Dieser Patch enthält Einheitentests für die Richtigkeit. Siehe JDK-8187123
. - [C8-11] Backport von JDK-8068736 von OpenJDK9 mit Fehlerbehebung für „Avoid synchronization on Executable/Field.declaredAnnotations.“
-
Verbessert die Leistung von Executable/Field.declaredAnnotations() durch Ergebniszwischenspeicherung, die eine Thread-Synchronisierung vermeidet.
- [C8-12] Backport von OpenJDK 9 mit FehlerbehebungJDK-8077605
: „Das Initialisieren statischer Felder verursacht eine unbegrenzte Rekursion in Javac“. - [C8-13] Fehlerbehebung für JDK-8130493: „javac silently ignores malformed classes in the annotation processor.“
-
javac hat falsch formatierte Klassendateien in einem Annotationsprozessor stillschweigend ignoriert und mit dem Beendigungscode 0 zurückgegeben. Mit diesem Patch gibt javac eine Fehlermeldung aus und gibt einen Beendigungscode ungleich null zurück.
- [C8-14] Verbesserte Fehlermeldung für das jmap-Tool.
-
Aktualisierte Fehlermeldungen, die zusätzliche Herangehensweisen aufzeigen, wenn der Zielprozess nicht reagiert. Siehe JDK-8213443
. - [C8-15] Behoben JDK-8185005: „Verbessern Sie die Leistung von ThreadMXBean.getThreadInfo (long ids [], int maxDepth).“
-
Dieser Patch verbessert die Leistung einer JVM-internen Funktion, die eine Java-Thread-Instance in einer BS-Thread-ID nachschlägt. Dies wirkt sich positiv auf verschiedene ThreadMXBean-Aufrufe aus, z. B. getThreadInfo(), getThreadCpuTime() und getThreadUserTime(). Die relative Leistungsverbesserung steigt mit der Anzahl an Threads in der JVM, da die lineare Suche durch ein Nachschlagen per Hashtabelle ersetzt wird.
- [C8-16] Zurück Port von OpenJDK 12, reparierenJDK-8206075
: „Stellen Sie unter x86 auf ungebundenen Assembler-Labels fest, die als Zweigziele verwendet werden.“ -
Bezeichnungsklasseinstances (werden zur Definition von Pseudo-Assembly-Code verwendet) können sowohl in C1 als auch in Interpreter falsch verwendet werden. Der häufigste Fehler für eine Bezeichnung ist, dass die Bezeichnung einem Branch zugewiesen, aber im Code per bind() nie als Ort definiert wird. Eine Assertion wurde hinzugefügt, um diese Fehler zu erkennen. So wurden 106 jtreg/hotspot- und 17 jtreg/jdk-Testfehler ausgelöst. Anschließend konnte festgestellt werden, dass die Bezeichnung backedge_counter_overflow nicht gebunden war, wenn UseLoopCounter „True“, UseOnStackReplacement aber „False“ war. Dieser Fehler ist jetzt behoben. Zudem besteht Schutz durch die oben stehenden Tests.
- [C8-17] Verbessern der Portierbarkeit von JVM-Quellcode bei der Verwendung von gcc7.
-
Dieser Patch setzt aktuelle Typdeklarationen an all jenen Orten, an denen der gcc-Switch „-Wno-deprecated-declarations“ Probleme melden würde. Zudem versetzt er den Switch auch in die Lage, verwandte Probleme in Zukunft zu erkennen. So kann der Quellcode auf allen vorhandenen Amazon Linux-Versionen kompiliert werden. Dies ist eine Kombination aus vielen Aspekten von JDK-8152856
, JDK-8184309 , JDK-8185826 , JDK-8185900 , JDK-8187676 , JDK-8196909 , JDK-8196985 , JDK-8199685 , JDK-8200052 , JDK-8200110 , JDK-8209786 , JDK-8210836 , JDK-8211146 , JDK-8211370 , JDK-8211929 , JDK-8213414 und JDK-8213575 . - [C8-18] Backport von JDK 10 mit FehlerbehebungJDK-8195848
: „JTREG-Test für StartManagementAgent schlägt fehl“. -
Weitere Informationen finden Sie unter http://serviceability-dev.openjdk.java.narkive.com/cDFwZce9
. - [C8-19] Ermöglicht es einer Legacy- bzw. deaktivierten Cipher Suite (Verschlüsselungssammlung) wieder, zwei TCK-Tests zu bestehen, die ansonsten fehlschlagen würden.
- Drei Rückportierungen von OpenJDK9 zur Unterstützung der Nutzung vorinstallierter Bibliotheken.
-
Backportierte Artikel: JDK-8043805 für libjpeg
,JDK-8035341 für libpng , undJDK-8042159 für lcms2 aus. - Integration von aarch64-Unterstützung von IcedTea 3.8.
- Aktualisierungen zu anbieterspezifischen Metadaten.
-
Identifiziert die Amazon als Anbieter dieser OpenJDK Verteilung und fügt Hyperlinks zum Melden von Problemen hinzu.
- Backport von OpenJDK 9, fixierenJDK-8048782
: „OpenJDK: PiscesCache: xmax/ymax rounding up kann RasterFormatException verursachen.“ -
Der Fehler bezieht sich auf den sun.java2d.pisces.PiscesCache-Konstruktor, der „(int minx,int miny,int miny,int maxx,int maxy)“-Argumente akzeptiert: „bboxX1“ und „bboxY1“ (intern) werden auf Werte gesetzt, die um ein Vielfaches über den angegebenen maximalen X- und Y-Werten liegen.