Dies ist ein Nachdruck von Blog Article.
Mit der Veröffentlichung von Java 9 im Juli 2017 Ich werde vorstellen, was Sie mit Java 9 mit Beispielcode tun können.
Alle Informationen sind vor der Veröffentlichung, also Bitte beachten Sie, dass es in der aktuellen Java 9-Version abweichen kann.
Java10 Release nähert sich, ich werde einen Link posten. Zusammenfassung der neuen Funktionen von Java 10
JShell REPL-Umgebung. Führen Sie Java über die Befehlszeile aus. Sie können jetzt die API überprüfen und einfache Tests durchführen.
C:\>jshell
| Welcome to JShell -- Version 9-ea
| For an introduction type: /help intro
jshell> String helloWorld = "Hello World"
helloWorld ==> "Hello World"
jshell> System.out.println(helloWorld + "!!" )
Hello World!!
Wie der Titel schon sagt. Sie können jetzt List / Set / Map wie Guava (Googles allgemeine Verarbeitungsbibliothek) erstellen.
jshell> List emptyImmutableList = List.of();
emptyImmutableList ==> []
jshell> Map nonemptyImmutableMap = Map.of(1, "one", 2, "two", 3, "three")
nonemptyImmutableMap ==> {2=two, 3=three, 1=one}
Mit Java 8 können Sie Standard- und statische Methoden für die Schnittstelle definieren. Mit Java9 können Sie auch private Methoden definieren.
public interface Card{
private Long createCardID();
private static void displayCardDetails();
}
Es wurde das Jigsaw-Projekt genannt. Es ist jetzt möglich, öffentliche und private APIs in module-info.java zu definieren.
Beispielcode finden Sie im Artikel hier.
Die folgenden Klassen wurden hinzugefügt.
ProcessHandle currentProcess = ProcessHandle.current();
System.out.println("Current Process Id: = " + currentProcess.getPid());
Die Try-with-Resource-Anweisung bis Java 8 Es war obligatorisch, die Klasse in der try-Klausel zu deklarieren. Dies wird nicht mehr benötigt.
void testARM_Java9() throws IOException{
BufferedReader reader1 = new BufferedReader(new FileReader("journaldev.txt"));
try (reader1) {
System.out.println(reader1.readLine());
}
}
CompletableFuture API,
Funktionen wie wurden hinzugefügt.
Executor exe = CompletableFuture.delayedExecutor(50L, TimeUnit.SECONDS);
Förderung der asynchronen Verarbeitung / Parallelverarbeitung / skalierbaren Anwendungsentwicklung Das Publish / Subscribe-Framework wurde hinzugefügt. Es ist ein Mechanismus in Akka usw.
Beispielcode finden Sie unter hier.
Ich kannte die Details nicht und habe sie daher weggelassen.
Zur optionalen Klasse wurden verschiedene Ergänzungen vorgenommen.
<T>
or(Supplier<? extends Optional<? extends T>> supplier)Durch Übergeben von Optional :: stream an Stream # flatMap Es scheint, dass es in Stream der umschlossenen Klasse konvertiert werden kann.
Stream<Optional> emp = getEmployee(id)
Stream empStream = emp.flatMap(Optional::stream)
Eine takeWhile-Methode und eine dropWhile-Methode, die auf die gleiche Weise wie Scala geschrieben werden können, wurden hinzugefügt.
jshell> Stream.of(1,2,3,4,5,6,7,8,9,10).takeWhile(i -> i < 5 )
.forEach(System.out::println);
1
2
3
4
Wird es abgeschafft? (zum Entfernen) Wann wird es abgeschafft? (schon seit) Es scheint, dass Informationen wie jetzt gegeben werden.
Es scheint, dass dies auf die Inkubationsfunktion herabgestuft wurde ... Referenz
Der HTTP / 2-Client ist in Java 9 enthalten, kann jedoch standardmäßig nicht aufgerufen werden. Die Funktionalität ist in einem Präfixmodul namens jdk.incubator zusammengefasst. Entwickler, die darauf zugreifen, müssen explizit das Flag --add-mod verwenden. Wenn Sie sich jedoch dafür entscheiden, müssen Sie berücksichtigen, dass die Inkubationsfunktion nicht Teil der Standard-API ist und daher immer geändert wird.
jshell> import java.net.http.*
jshell> import static java.net.http.HttpRequest.*
jshell> import static java.net.http.HttpResponse.*
jshell> URI uri = new URI("http://google.com")
uri ==> http://google.com
jshell> HttpResponse response = HttpRequest.create(uri).body(noBody()).GET().response()
response ==> java.net.http.HttpResponseImpl@79efed2d
jshell> System.out.println("Response was " + response.body(asString()))
Multi-Resolution Image API Es scheint, dass die MultiResolutionImage-Schnittstelle zum Paket java.awt.image hinzugefügt wurde.
Weitere Informationen finden Sie unter Offizielles Dokument.
Andere
Und so weiter.
Recommended Posts