Dieser Artikel ist der erste Tagesartikel von SRA Adventskalender 2017.
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.
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
Sie können jetzt die Suchfunktion in Javadoc verwenden. 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.
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.
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.
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