Denken wir daran, was in Java 9 neu ist

Dieser Artikel ist der erste Tagesartikel von SRA Adventskalender 2017.

Java 9 Release-Inhalt

Hallo! Dies ist Sasaki von der Kansai Division. Im September 2017 wurde Java 9 veröffentlicht. Java 8 erhielt viel Aufmerksamkeit aufgrund des Inhalts, der einen großen Einfluss auf die Codierung hat, wie Lambda-Ausdrücke, Standardmethoden der Schnittstelle, Methodenreferenzen und das Hinzufügen von Optional. Dank dessen scheinen viele Leute einige neue Funktionen über Java 8 zu kennen, auch wenn Sie nicht die neuesten Informationen zu Java sehen. In Bezug auf Java 9 scheinen Personen, die nicht aktiv Informationen sammeln, nicht zu wissen, welche Art von Veröffentlichung vorgenommen wurde, und für diejenigen, die vorerst keine Zeit haben, ist einer der Inhalte der Java 9-Veröffentlichung "Keep this alone". Ich möchte die Abteilung vorstellen. "Das ist alles" hier ist mein persönliches Urteil, daher kann es zu Meinungsverschiedenheiten kommen, aber in diesem Fall wäre ich dankbar, wenn Sie es mit Kommentaren ergänzen könnten. (Andere Kraftanwendung)

jshell Sie können jetzt das REPL-Tool jshell verwenden. jshell.JPG Sie können das Semikolon am Ende des Satzes weglassen und müssen keine Klasse oder Methode erstellen, um Java-Code auszuführen. (Natürlich können Sie Klassen und Methoden erstellen) Geben Sie im obigen Beispiel nach dem Erstellen eines zufälligen Objekts " r.`` `" ein und drücken Sie die TAB-Taste, um die Methode abzuschließen. Darüber hinaus gibt es in jshell viele Befehle, die mit "/ (Schrägstrich)" beginnen. Nachfolgend nur einige

Javadoc-Suchfunktion

Sie können jetzt die Suchfunktion in Javadoc verwenden. javadoc_search2.JPG Sie können eine inkrementelle Suche wie Paketname und Klassenname durchführen, indem Sie oben rechts im Suchfenster ein Schlüsselwort eingeben. Bei Paket- und Klassennamen war die Suchfunktion des Browsers meines Erachtens bis zu einem gewissen Grad in der Lage, aber Sie können auch plötzlich nach Methodennamen suchen. javadoc_search3.JPG

Modulsystem

Tatsächlich ist das Hauptmerkmal von Java 9 das "Modulsystem". Das Modulsystem ist ziemlich esoterisch, wenn man versucht, es gründlich zu verstehen, aber ich werde es hier auf ein Minimum beschränken. Zunächst werde ich vor dem modularen System die folgenden beiden Probleme kurz erläutern.

JAR hell Die JAR-Hölle ist ein Problem, das durch Java-Anwendungen verursacht wird, die auf vielen JARs basieren. Es hängt von zu vielen JARs ab, um sie zu verwalten, und Sie erhalten zur Laufzeit eine ClassNotFoundException, oder Sie erhalten eine Fehlermeldung, weil Sie dieselbe JAR-Datei für verschiedene Versionen haben.

Das Problem, übersehen zu werden

Dieses "Problem, Probleme zu haben, zu viel zu sehen" wurde von mir willkürlich benannt, aber in Java können die in JAR enthaltenen Klassen "gesehen" werden. Sie können den Zugriff auf Klassen wie privat und öffentlich steuern, müssen sie jedoch öffentlich machen, um von anderen Paketen aus auf sie zugreifen zu können. Infolgedessen können Sie auch von anderen JARs aus auf sie zugreifen. Außerdem hatte das Paket keine Zugriffskontrolle wie eine Klasse.

module-info.java Das Modulsystem löst die oben genannten Probleme. Um das Modulsystem zu verwenden, platzieren Sie eine Datei mit dem Namen "module-info.java" im obersten Verzeichnis von src.

src -- kazsharp.lambda_logging.jcl
     |                          |
     |                          -- LambdaLog4jLog.java
     |
     -- module-info.java

Beschreiben Sie in module-info.java die abhängigen Module, zu veröffentlichenden Pakete usw.

module-info.java


module <Modulname> {
  requires <Abhängiger Modulname>;
  exports <Zu veröffentlichender Paketname>;
}

Wie üblich können Sie auf Pakete zugreifen, die nicht in Ihr Modul exportiert wurden. Andere Module können jedoch nur auf Pakete zugreifen, die exportiert werden. Wenn mehrere Module dasselbe Paket haben, tritt ein Fehler auf.

Übergangsmaßnahmen

Ich mache mir Sorgen um das Modulsystem bei Verwendung von Java 9

Davon abgesehen gibt es eine Zeit, die als "Übergangsmaßnahmen" bezeichnet wird. Übergangsmaßnahmen umfassen "anonyme Module" und "automatische Module", auch wenn module-info.java nicht platziert ist.

Da es sich jedoch um eine Übergangsmaßnahme handelt, sollten Sie Java 9 mithilfe von module-info.java entsprechend festlegen.

Bisher haben wir den Inhalt eingeführt, dass Java 9 mindestens diesen Betrag halten sollte. Sie müssen mehr über das Modulsystem und andere Inhalte wissen, bevor Sie es tatsächlich entwickeln können. Ich hoffe, dieser Artikel bietet Ihnen die Möglichkeit, mehr über Java 9 zu erfahren.

Recommended Posts

Denken wir daran, was in Java 9 neu ist
Was ist neu in Java 8?
Was ist neu in Java 9,10,11
[Java Bronze] 5 Probleme zu beachten
Java-Geschichte in dieser Welt
Was ist neu in Apache Camel 2.19.0?
Verwenden wir Twilio in Java! (Einführung)
Ich habe das neue Yuan-Problem in Java ausprobiert
Pleiades Eclipse 2020-03 Release ~ Java 14 Probieren wir neue Funktionen aus!
Festlegen des HTTP-Keep-Alive-Timeouts im Java-HTTP-Client
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
Dinge, die Sie beachten sollten, wenn Sie sich für CRuby entscheiden
Verwenden wir Java New FileIO! (Einführung für Anfänger)
Lassen Sie uns Java studieren
Partisierung in Java
Änderungen in Java 11
Java1.8 neue Funktionen
Umfangsrate in Java
FizzBuzz in Java
[Java] Deklarieren wir die in der Schleife verwendeten Variablen in der Schleife [Variationen im Block]
[LeJOS] Programmieren wir mindstorm-EV3 mit Java [Umgebungskonstruktion Teil 2]
Dinge, die zu beachten sind, wenn der Abhängigkeit Krieg hinzugefügt wird
Dinge, die Sie bei der Verwendung der if-Anweisung beachten sollten
Dies und das zum Bearbeiten von ini in Java. : inieditor-java