Unterschiede Amazon Corretto und OpenJDK

Lesezeit: 5 Minuten

Benutzer-Avatar
Kris

Was sind die Unterschiede zw Amazon Corretto und OpenJDK (und Oracles OpenJDK – aber dazu gibt es schon ein Ticket)? Corretto ist eine Implementierung von OpenJDK Version 8. Beide sind kostenlos und scheinen auf den meisten Systemen (Linux, Mac OS und Windows) zu laufen. Bisher ist Corretto nur in der Vorschau, aber das wird sich bald ändern. Correttos Dokumentation sagt nicht viel über Unterschiede aus. Gibt es Unterschiede zB in Performance, Garbage Collection? Warum sollte ich das eine dem anderen vorziehen? Würden Sie Corretto außerhalb von AWS verwenden?

  • Heutzutage gibt es auch einen Coretto 11 …

    – Rogerpack

    27. Februar 2020 um 16:48 Uhr

Benutzer-Avatar
Jason

Aus Amazons Beschreibung:

„Patches und Verbesserungen in Corretto ermöglichen es Amazon, auf große, reale Serviceprobleme einzugehen und hohe Anforderungen an Leistung und Skalierbarkeit zu erfüllen. Wir stellen diese Kunden mit kostenlosem, langfristigem Support und vierteljährlichen Updates einschließlich Fehlern zur Verfügung Fehlerbehebungen und Sicherheitspatches. AWS wird Kunden auch außerhalb des vierteljährlichen Zeitplans dringende Fehlerbehebungen bereitstellen.

Corretto hat also leistungsspezifische Optimierungen (z. B. für Server- oder Cloud-Anwendungen) und auch zusätzliche Fehlerkorrekturen, die Benutzer nutzen können und die noch nicht unbedingt in OpenJDK enthalten sind. Auch damit bietet Amazon eine angemessene LTS-Unterstützung für ihren Build, wie es andere kommerzielle Unternehmen für das JDK tun (Oracle und Azul fallen mir ebenso ein wie andere).

  • Halten Sie es für sinnvoll, Corretto außerhalb von AWS zu verwenden?

    – Kris

    14. November 2018 um 19:22 Uhr

  • Klar, ich hätte kein Problem damit. Ich habe gerade ihr Projekt auf Github durchgesehen (github.com/corretto/corretto-8/commits/preview-release) und es sieht so aus, als würden sie bestimmte Fehlerkorrekturen aus späteren Java-Versionen in ihre Java 8-Version zurückportieren. Wenn es eine bestimmte Fehlerbehebung gibt, die Sie wirklich möchten, dann machen Sie es.

    – Jason

    14. November 2018 um 19:44 Uhr

  • Ich denke der Link ist kaputt? ^

    – Jason

    15. November 2018 um 10:19 Uhr

  • Hier ist ein funktionierender Link zum Änderungsprotokoll: docs.aws.amazon.com/corretto/latest/corretto-8-ug/…. Sie scheinen viel zu backportieren.

    – Kris

    15. November 2018 um 10:43 Uhr

  • Wir haben noch keine AWS-spezifischen Korrekturen vorgenommen (noch haben wir Pläne dafür). Alle Fixes sind allgemeine Java-Verbesserungen, die von Anwendungen beobachtet wurden, auf denen Amazon-Dienste ausgeführt werden, oder in Zukunft von Benutzern gemeldet werden. Außerdem werden alle Fixes (außer Backports) Upstream zu OpenJDK beigetragen. Wir planen auch, Teil des Teams zu werden (zusammen mit Red Hat und hoffentlich anderen), das OpenJDK8u und OpenJDK11u wartet

    – Yishai Galatzer

    20. November 2018 um 4:04 Uhr

Benutzer-Avatar
Despertar

Abgesehen von Leistungsvorteilen ist Corretto ein wichtiger Grund für die Verwendung Langfristige Unterstützung seiner Versionen, einschließlich Sicherheitslücken.

Einer der wichtigen Unterschiede zwischen OpenJDK und mehreren anderen Anbietern (wie Amazon Corretto) ist ihr Veröffentlichungs- und Supportzyklus.

OpenJDK befindet sich in einem 6-monatigen Veröffentlichungszyklus und unterstützt jede Veröffentlichung nur für diese Zeit. Nach der nächsten Version erhält die vorherige Version keine Patches mehr. Das bedeutet, um auf dem neuesten Stand zu bleiben, müssen Sie alle 6 Monate ein Upgrade durchführen.

Corretto hingegen bietet LTS (Long Term Support) für seine JDK-Builds an.

Amazon Corretto ist eine kostenlose, plattformübergreifende, produktionsbereite Distribution des Open Java Development Kit (OpenJDK), die mit langfristigem Support (LTS) geliefert wird. LTS beinhaltet die Verpflichtung von Amazon, Leistungsverbesserungen und Sicherheitsupdates kostenlos bis mindestens zum angegebenen Datum für die jeweilige Release-Version (z. B. Mai 2026 für Corretto 8) bereitzustellen. Updates sollen vierteljährlich veröffentlicht werden.
Amazon plant auch, dringende Fixes (einschließlich Sicherheit) außerhalb des regulären vierteljährlichen Zyklus anzuwenden, wenn sie verfügbar sind und einsatzbereit.

Zusammenfassend hast du 3 Möglichkeiten:

  1. Verwenden Sie OpenJDK kostenlos, aber führen Sie alle 6 Monate ein Upgrade durch, um Updates zu erhalten
  2. Verwenden Sie ein kostenpflichtiges JDK von Oracle oder einem anderen Anbieter
  3. Verwenden Sie Corretto kostenlos und erhalten Sie mehrere Jahre lang kostenlose Updates

Wie Sie sehen, ist Corretto eine gute Wahl, wenn Sie sicher und auf dem neuesten Stand bleiben möchten, kein Geld bezahlen und nicht ständig auf eine neue Version aktualisieren möchten.

Hier sind die aktuellen End-of-Life-Daten für Corretto:

  • Version 8 LTS Juni 2026
  • Version 11 LTS September 2027
  • Version 17 LTS Oktober 2029

Nicht-LTS-Versionen sind ebenfalls verfügbar, werden jedoch für einen kürzeren Zeitraum unterstützt.

Es gibt eine Vielzahl von JDK-Anbietern, daher gibt es möglicherweise andere Alternativen für ein kostenloses und aktualisiertes JDK, aber lesen Sie die Website des Anbieters sorgfältig durch, um deren Support- und Patch-Richtlinien zu verstehen. Persönlich denke ich, dass Corretto eine großartige Wahl ist, und etwas, auf das Sie sich verlassen können, wird rechtzeitig gepatcht.

  • Vielen Dank! Mir war die kurze Supportdauer von OpenJDK nicht bewusst. Und würden Sie Corretto außerhalb von AWS verwenden?

    – Kris

    25. Juli 2021 um 16:12 Uhr

  • Ja, es kann auf mehreren Plattformen installiert werden, einschließlich Windows, Mac und Linux, und verfügt außerdem über ein Image auf DockerHub, das Sie für Container verwenden können.

    – Despertar

    9. September 2021 um 3:19 Uhr

  • Ich “schätze”, RedHat sagte, dass sie OpenJDK auch für eine Weile unterstützen würden: developer.redhat.com/blog/2018/09/24/… Auch Oracle JDK ab 17 ist glaube ich wieder kostenlos…

    – Rogerpack

    22. April um 20:24 Uhr


Ich kann Ihnen sagen, dass wir ein paar subtile Unterschiede gefunden haben. Wir haben die eigentliche Ursache der Unterschiede nicht identifiziert, aber wir wissen, dass Jasper-Berichte, die mit Corretto generiert wurden, geringfügige Unterschiede in einigen Offset-Nummern aufweisen, wie etwa LeadingOffset=”-2.9667969″ in Corretto gegenüber “-2.737793” in der Oracle JVM. Es gibt keinen visuellen Unterschied, aber es führte zum Scheitern in Golden-Master-Tests. Außerdem sind einige sehr alte, veraltete Tools wie das Rendern von Text in TIFF nicht enthalten. Abgesehen davon haben wir viele Projekte problemlos auf Corretto umgestellt.

Die angewendeten Patches sind auf den folgenden Seiten aufgelistet:

Ich kopiere nicht über, da die Liste mit der Zeit wachsen wird, aber der Fokus scheint auf Bugfixes und Performance-Fixes, Patches und Backports zu liegen.

1205480cookie-checkUnterschiede Amazon Corretto und OpenJDK

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy