Java 17 - Was ist neu ?

21 September, 2021

Die neue Java LTS ist draußen. Also kann man sich die Frage stellen: Was ist neu?

Das finde ich sind die wichtigsten Sachen, die sich verändert haben.

Um kurz auch mal über Pattern Matching für Switch und Sealed Classes zu reden:

Pattern Matching:

Es gibt jetzt mehr Möglichkeiten Switch zu benutzen, statt if-else. Hier sind ein paar Beispiele:

static void testTriangle(Shape s) {
    switch (s) {
        case Triangle t && (t.calculateArea() > 100) ->
            System.out.println("Large triangle");
        default ->
            System.out.println("A shape, possibly a small triangle");
    }
}
static void test(Object o) {
    switch (o) {
        case null      -> throw new NullPointerException();
        case String s  -> System.out.println("String: "+s);
        case Integer i -> System.out.println("Integer");
        default  -> System.out.println("default");
    }
}

Sealed Classes:

Man kann nun einschränken, wer alles eine Klasse erben oder implementieren kann.

public abstract sealed class Shape
    permits Circle, Rectangle, Square { ... }

Was wurde zwischen der letzter LTS Version und jetzt verändert?

Ich finde, das sind die wichtigsten und größten Änderungen.

Um auch mal kurz auf die nächste Java Version zu sprechen zu kommen.

Die wichtigste Änderung für Java 18 wird die Standardisierung von UTF-8.

Und dann mal sehen was noch so kommt.


Oracle JDK ist nun kostenlos

18 September, 2021

Hi! Genau, Java 17 (LTS) ist seit ein paar Tagen draußen (dazu kommt auch noch ein Artikel) und Oracle hat dazu auch ihre Lizenz geändert. 

Am 14. September hat Donald Smith (Sr. Director of Product Management) in einem Blog Beitrag vorgestellt, das die Lizenz von OracleJDK nun Oracle No-Fee steht.

Diese kostenlose Lizenz umfasst das JDK und die vierteljährlichen Sicherheitsupdates auch für die kommerzielle und produktive Nutzung. Die neue Lizenz ist die "Oracle No-Fee Terms and Conditions"-Lizenz (NFTC) und erlaubt die kostenlose Nutzung für alle Benutzer, auch für die kommerzielle und produktive Nutzung. Die Weiterverbreitung ist erlaubt, solange sie nicht kostenpflichtig ist.

Frühere Versionen sind von dieser Änderung nicht betroffen. Oracle wird weiterhin Oracle OpenJDK-Releases unter der GPL nach denselben Releases und demselben Zeitplan wie seit Java 9 bereitstellen.

Es gibt weiterhin die kostenpflichtige Version, ich glaube aber nicht, dass sie einen von uns interessiert.

Happy End: Nun können wir uns die Java Version ohne das lästige Durchklicken herunterladen. Oder einfach bei der OpenJDK oder SDKMan bleiben.


Hit Counter

9