Ich habe versucht herauszufinden, was sich in Java 9 geändert hat

Java 9 offizielle Version

Java 9 wurde im September 2017 veröffentlicht. Seit der Veröffentlichung von Java 8 im März 2014 ist es seit etwa dreieinhalb Jahren ein wichtiges Update. Ich habe das Gefühl, zu spät zu sein, aber ich habe beschlossen, Java 9 als Studiennotiz zusammenzufassen. Ich habe nicht alle Änderungen behandelt, daher greife ich nur die Teile auf, die ich für wichtig halte.

Ende der Unterstützung für ältere Betriebssysteme

Ab Java9 wird es für 32-Bit-Betriebssysteme nicht mehr bereitgestellt. Seien Sie vorsichtig mit Servern, auf denen unter Windows Server 2012 oder früher ein 32-Bit-Betriebssystem ausgeführt wird. Am Entwicklungsstandort (insbesondere bei großen Geschäftsanwendungen) gibt es viele Standorte, die mit 32-Bit-Windows 7 entwickelt werden. In Wirklichkeit migrieren jedoch alle auf 64-Bit.

REPF-Tool

Es ist leicht zu verstehen für diejenigen, die Python verwendet haben, aber es gibt viele Dinge, die über die Befehlszeile in Java erledigt werden können. REPF ist eine Abkürzung für Read-eval-print-loop. Geben Sie jshell in die Befehlszeile ein und führen Sie es mit System.out.println ("Hello World") aus, um die Ergebnisse anzuzeigen. Wenn es sich um ein einfaches Beispielprogramm handelt, können Sie sich die Mühe sparen, eine Klasse zu erstellen und die Operation zu überprüfen.

Unicode 8.0-Unterstützung

Ich glaube nicht, dass es viele Möglichkeiten gibt, Piktogramme in Geschäftsanwendungen zu verwenden, aber mit der diesmaligen Unterstützung von Unicode-8.0 ist es möglich geworden, eine Vielzahl neuer Zeichen zu verwenden. Das Angebot an Smartphones wie Android-Apps kann erweitert werden!

Verbesserte Zufallszahlengenerierung (DRBG)

Bisher gab es zwei Typen: die Java-Standard-Zufallsfunktion (java.util.Random) und die Secure Random-Funktion (java.security.Random), die einen kryptografisch erweiterten Zufallszahlengenerator (RNG) bereitstellt. Darüber hinaus ist das diesmal hinzugefügte DRBG ein Zufallszahlengenerator, der in NIST-800-90Arl definiert ist. NIST wird auch von US-Regierungsbehörden im sogenannten American National Standards Institute verwendet.

SHA-3 kompatibel

Dies ist mit dem Hash-Algorithmus SHA-3 als Verbesserung der Sicherheitsunterstützung kompatibel. SHA-3 wird auch von NIST wie DRBG oben definiert.

Java-Applet veraltet

Es ist ein Java-Applet, das ich heutzutage selten gesehen habe, aber es ist in Java 9 offiziell veraltet.

Modulares System "Project Jigsaw"

Ich denke, man kann sagen, dass es nur um Java 9 geht. Die Geschichte von Jigsaw, einem modularen System, begann 2009. Über einen langen Zeitraum wurden endlich großartige und großartige Leute mit Blut, Schweiß und Tränen auf Java 9 veröffentlicht. (Ich weiß nicht, ob ich Blut, Schweiß und Tränen vergieße.)

Was ist überhaupt ein Modul? .. ..

Ein Modul ist ein englisches Wort, das eine Funktionseinheit oder eine austauschbare Komponente bedeutet. Es ist ein Teil mit einer Gruppe von Funktionen, die einen Teil des Systems bilden, und die Spezifikationen der Verbindung (Schnittstelle) zum System und anderen Teilen sind standardisiert und standardisiert, so dass es leicht hinzugefügt oder ersetzt werden kann. Bedeutet, dass.

Referenz: IT-Glossar

Sie können sich das als eine Einheit vorstellen, die das System in funktionalen Einheiten zusammenfasst. In Java werden Funktionen in Gruppen zusammengefasst, die als Pakete bezeichnet werden. Anschließend wird mithilfe eines Mechanismus eine JAR-Datei erstellt, indem Pakete gesammelt und als Bibliothek bereitgestellt werden.

Ist es bis jetzt nutzlos? Was ist das Problem?

  1. Die Sichtbarkeit kann nicht für jede Funktion eingestellt werden Da die Sichtbarkeit nicht für jede Funktion (Jar-Einheit) eingestellt werden kann, ist es möglich, dass etwas, das nur im A-System verwendet werden sollte, unerwartet im B-System verwendet wird und eine unerwartete Ausnahme auftritt.

  2. Abhängigkeiten zwischen Bibliotheken können nicht festgelegt werden Wenn a.jar, a2.jar und mehrere JAR-Dateien erforderlich sind, um eine bestimmte a.jar zu verwenden, muss der Entwickler jedes Mal untersuchen und herausfinden, welche JAR-Datei fehlt. Es gibt. Um dieses Problem zu lösen, definiert und legt jigsaw nun Modulabhängigkeiten fest, wodurch Entwickler nicht mehr herausfinden müssen, welche Bibliotheken sie benötigen.

Deshalb Paketverwaltung!

Jigsaw wurde über einen langen Zeitraum erstellt, um das oben beschriebene Problem zu lösen. Durch Erweitern des Bereichs, der privat ausgeblendet werden kann, wird der Bereich, der veröffentlicht werden kann, erweitert, und durch Lösen des Problems der Bibliotheksabhängigkeit, das jedes Mal bei der Erstellung von Umgebungen auftritt, kann die anfängliche Entwicklung beschleunigt werden, was praktisch ist (sollte).

Schließlich

Da es gerade erst veröffentlicht wurde, gibt es möglicherweise nur wenige Möglichkeiten, Java 9 in Unternehmen einzuführen, aber ich denke, es ist ein guter Zeitpunkt für die Entwicklung neuer Produkte und für diejenigen, die von nun an Java studieren. Verwenden Sie daher auf jeden Fall Java 9. schauen Sie bitte! Und ich würde mich freuen, wenn Sie mir verschiedene Dinge erzählen könnten m (_ _) m ← Andere Kraftanwendungen

Der Inhalt ist aufgrund mangelnder Studien immer noch dünn, aber danke, dass Sie bis zum Ende gelesen haben. Ich denke, es gibt einige Fehler, daher würde ich mich freuen, wenn Sie darauf hinweisen könnten.

Recommended Posts

Ich habe versucht herauszufinden, was sich in Java 9 geändert hat
Ich habe versucht, neunundneunzig in Java auszugeben
Ich habe versucht, Alexa-Fähigkeiten mit Java zu erstellen
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
# 2 [Anmerkung] Ich habe versucht, neunundneunzig mit Java zu berechnen.
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, JWT in Java zu verwenden
Ich habe jetzt versucht, Java 8 zusammenzufassen
Ich habe versucht, Dapr in Java zu verwenden, um die Entwicklung von Mikroservices zu erleichtern
Ich habe einen RESAS-API-Client in Java erstellt
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Ich habe versucht, Java-Lambda-Ausdrücke zusammenzufassen
Ich habe das neue Yuan-Problem in Java ausprobiert
Ich habe versucht, Java-Anfänger so einzustellen, dass sie Tastenkombinationen in Eclipse verwenden
Was ist Docker? Ich habe versucht zusammenzufassen
Was Java-Programmierer mit Kotlin nützlich finden
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ich habe versucht, polymorph in Nogizaka zu implementieren.
Ich möchte eine E-Mail in Java senden.
Ich habe versucht, die Sitzung in Rails zu organisieren
Java Ich habe versucht, einen einfachen Block zu brechen
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
rsync4j - Ich möchte rsync in Java berühren.
Was ich in Java gelernt habe (Teil 2) Was sind Variablen?
Ich habe versucht, eine Anwendung in 2 Sprachen zu entwickeln
Ich habe versucht, den Block mit Java zu brechen (1)
Punkte, die bei Java beachtet werden müssen, sind gleich
Ruby: Ich habe versucht herauszufinden, wohin Nokogiri geht, um die Kodierung selbst zu sehen
Ich habe versucht, was ich mit Stream leise versuchen wollte.
Versuchte Mastodons Toot- und Streaming-API in Java
Ich möchte so etwas wie "cls" in Java machen
Ich habe versucht, TCP / IP + BIO mit JAVA zu implementieren
[Java 11] Ich habe versucht, Java auszuführen, ohne mit Javac zu kompilieren
[Java] Ich habe versucht, Paizas B-Rang-Problem zu lösen
Ich habe versucht, SQS mit AWS Java SDK zu betreiben
Ich möchte ES2015 auch in Java verwenden! → (´ ・ ω ・ `)
Dinge, auf die Sie bei der zukünftigen Java-Entwicklung achten sollten
Was ich in Java gelernt habe (Teil 3) Anweisung zur Ausführung von Anweisungen
Ich habe versucht, Sterling Sort mit Java Collector zu implementieren
Was ich beim Erstellen eines Servers in Java gelernt habe
[Java] Ich habe versucht, die Yahoo API-Produktsuche zu implementieren
Ich habe versucht, die erweiterte for-Anweisung in Java zu verwenden
Ich habe versucht, Java Silver in 2 Wochen zu bestehen, ohne Java zu kennen
Ich habe versucht, Effective Java 3rd Edition "fast alle Kapitel" in "leicht lesbarem Japanisch" zu erklären.
Erstes AWS Lambda (Ich habe versucht zu sehen, in welcher Umgebung es funktioniert)
Was ich über Java 8 recherchiert habe
Was ich über Java 6 recherchiert habe
Ich habe ein Roulette in Java gemacht.
Was ich über Java 9 recherchiert habe
Problem beim Finden von javax.annotation.Generated in Java 11 nicht
Ich habe Drools (Java, InputStream) ausprobiert.
Suchen Sie eine Teilmenge in Java
Ich habe versucht, Java REPL zu verwenden
Ich habe versucht, yum-cron zu verifizieren