Ein kurzer Rückblick auf Java in den letzten fünf Jahren

Da ich mich entschieden habe, Jobs zu wechseln und Java am neuen Jobziel verwenden werde [Artikel im Blog geschrieben](https://yk0807.com/techblog/2019/03/29/%E3%81%93%E3%81% 935% E5% B9% B4% E3% 81% BB% E3% 81% A9% E3% 81% AEjava% E3% 82% 92% E7% B0% A1% E5% 8D% 98% E3% 81% AB% E6% 8C% AF% E3% 82% 8A% E8% BF% 94% E3% 81% A3% E3% 81% A6% E3% 81% BF% E3% 82% 8B /) sehen.

Laut Wikipedia-Seite und offizieller JDK-Seite sieht es so aus. März 2014 Java8 (Lambda-Ausdrücke, Typanmerkungen, Datums- und Zeit-API, JavaFX (ein GUI-Tool mit höherer Funktionalität als Swing) usw.) September 2017 Java9 (Unterstützung für Modularisierung auf Sprachebene usw.) März 2018 Java10 (Inferenz lokaler Variablentypen usw.) September 2018 Java 11 (** Oracle JDK hat für nestbasierte Zugriffskontrolle usw. bezahlt !! **) März 2019 Java12 (API von JVM-Konstanten usw.)

Wenn Sie es so betrachten, können Sie sehen, dass vor fünf Jahren verschiedene Funktionen in Java 8 hinzugefügt wurden. Vor allem denke ich, dass die Einführung des Lambda-Typs ziemlich groß war. Als Beispiel für den Lambda-Stil sieht es so aus.

package Lambdatest;
import java.util.function.*;

public class LambdaTest {
	public static void main(String[] args) {
		double x1 = 3.0;
		double y1 = 4.0;
		BiFunction<Double, Double, Double> z = (x, y) -> Math.sqrt(x * x + y * y);
		System.out.println(z.apply(x1, y1));
	}
}

Wenn ich versuche, dasselbe zu tun, ohne den Lambda-Ausdruck zu verwenden, wäre es meiner Meinung nach ziemlich verwirrend, eine anonyme Klasse zu verwenden. Apropos, C ++ kann auch Lambda-Ausdrücke aus C ++ 11 mit einer großen Anzahl von Sprachspezifikationen verwenden.

Es gibt viele andere Funktionen, die in den letzten Jahren erheblich verbessert wurden. Es ist jedoch nicht nur gut, sondern die Tatsache, dass das Oracle JDK von Java 11 bezahlt wurde (obwohl es für den persönlichen Gebrauch in Ordnung zu sein scheint), scheint vielen Menschen zu schaden. .. .. OpenJDK kann kostenlos verwendet werden, aber die Support-Zeit ist kurz, so dass es ein Problem ist.

Nachtrag

Ich habe Informationen im Kommentarbereich erhalten, daher werde ich ein wenig hinzufügen. Es scheint eine kostenlose OpenJDK-kompatible Distribution namens [Amazon Corretto] zu geben (https://aws.amazon.com/jp/corretto/). Die Installationsmethode finden Sie unter hier.

Recommended Posts

Ein kurzer Rückblick auf Java in den letzten fünf Jahren
Ein kurzer Blick auf das Monty Hall-Problem
Ein Blick auf Jenkins, OpenJDK 8 und Java 11
[Rails] [Docker] Kopieren und Einfügen ist in Ordnung! So erstellen Sie eine Rails-Entwicklungsumgebung mit Docker
Verwenden Sie Vue.js mit CDN (nur kopieren und einfügen!)
Ein kurzer Rückblick auf Java in den letzten fünf Jahren
Ein Blick auf Jenkins, OpenJDK 8 und Java 11
Ein Java-Benutzer hat vor über einem Dutzend Jahren versucht, die Funktionen von Java8 (Generics) zu untersuchen.
Werfen Sie einen kurzen Blick auf Gradle und lesen Sie das von Spring Initializr generierte build.gradle
Ein Java-Benutzer hat vor einem Dutzend Jahren versucht, die Funktionen von Java8 (Lambda Style Edition) zu untersuchen.
Schauen wir uns das Verfahren zum Starten der Hotspot-JVM an
Werfen wir einen Blick auf den Bildschirm von Quant Analyzer!
Oracle Java Trends 2018 = Kurzzusammenfassung = (Mit Blick auf die Oracle JDK 11-Version)
[Java] Schauen wir uns die Switch-Ausdrücke (Vorschau) von JDK 13 an.
Ich habe mir die Ressourcen der Azure Container-Instanz angesehen
Kompilieren Sie Java an der Eingabeaufforderung