Verwenden Sie dieses Tag für Fragen zu Java 8, Version 8 (interne Nummer 1.8) der Java-Plattform, die am 18. März 2014 veröffentlicht wurde. In den meisten Fällen sollten Sie auch das Java-Tag angeben.
Während sie durch die Java Language Specification Suche zu beantworten diese Frage , habe ich gelernt , dass Bevor eine Klasse initialisiert wird, muss ihre direkte Oberklasse initialisiert werden, aber von der Klasse implementierte Schnittstellen werden nicht initialisiert. In ähnlicher Weise werden die Superschnittstellen einer Schnittstelle nicht initialisiert, bevor die …
Was ist der Standard-Garbage Collector für Java 8? Wenn ich die JMX-Beans überprüfe, zeigen sie, dass es sich um den Parallelkollektor für die neue Generation und den alten seriellen Kollektor für die alte Generation handelt.
Ich verwende JDK-8 (x64). Für Arrays.sort(Grundelemente) habe ich in der Java-Dokumentation Folgendes gefunden: Der Sortieralgorithmus ist ein Dual-Pivot- Quicksort von Vladimir Yaroslavskiy, Jon Bentley und Joshua Bloch. " Für Collections.sort(Objekte) habe ich dieses "Timsort" gefunden: Diese Implementierung ist eine stabile, adaptive, iterative Zusammenführung ... Diese Implementierung speichert die angegebene Liste …
Ich versuche die ifPresent()Methode der OptionalAPI in Java 8 zu verstehen . Ich habe eine einfache Logik: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Dies führt jedoch zu einem Kompilierungsfehler: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Natürlich kann ich so etwas machen: if(user.isPresent()) { doSomethingWithUser(user.get()); } Aber das ist genau wie ein …
Soweit ich mich erinnere, ArrayListbetrug die Standardkapazität vor Java 8 10. Überraschenderweise sagt der Kommentar zum Standardkonstruktor (void) immer noch: Constructs an empty list with an initial capacity of ten. Von ArrayList.java: /** * Shared empty array instance used for default sized empty instances. We * distinguish this from EMPTY_ELEMENTDATA …
Ich habe eine große Datei, die eine Liste von Elementen enthält. Ich möchte einen Stapel von Elementen erstellen und mit diesem Stapel eine HTTP-Anfrage stellen (alle Elemente werden als Parameter in der HTTP-Anfrage benötigt). Ich kann es sehr einfach mit einer forSchleife machen, aber als Java 8-Liebhaber möchte ich versuchen, …
Wie kann ich überprüfen, ob a Streamleer ist, und eine Ausnahme auslösen, wenn dies nicht der Fall ist, als nicht-terminale Operation? Grundsätzlich suche ich nach etwas, das dem folgenden Code entspricht, ohne jedoch den dazwischen liegenden Stream zu materialisieren. Insbesondere sollte die Überprüfung nicht erfolgen, bevor der Stream tatsächlich von …
Gemäß folgendem Linkdokument: Java HashMap-Implementierung Ich bin verwirrt mit der Implementierung von HashMap(oder besser gesagt einer Verbesserung in HashMap). Meine Fragen sind: zuerst static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; Warum und wie werden diese Konstanten verwendet? Ich möchte …
Ich habe gerade sim folgenden Lambda-Ausdruck ersetzt durch _: s -> Integer.parseInt(s) Der Eclipse-Compiler sagt: '_' sollte nicht als Bezeichner verwendet werden, da es sich ab Quellstufe 1.8 um ein reserviertes Schlüsselwort handelt. Ich habe keine Erklärung in JLS §3.9 Lexikalische Struktur / Schlüsselwörter gefunden.
Ich habe eine Liste von Integer listund von der list.stream()ich den Maximalwert haben möchte. Was ist der einfachste Weg? Benötige ich einen Komparator?
Eine Schnittstelle in Java ähnelt einer Klasse, der Hauptteil einer Schnittstelle kann jedoch nur abstrakte Methoden und finalFelder (Konstanten) enthalten. Kürzlich habe ich eine Frage gesehen, die so aussieht interface AnInterface { public default void myMethod() { System.out.println("D"); } } Gemäß der Schnittstellendefinition sind nur abstrakte Methoden zulässig. Warum kann …
In der Sammlungsschnittstelle habe ich eine Methode mit dem Namen gefunden removeIf(), die ihre Implementierung enthält. default boolean removeIf(Predicate<? super E> filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator<E> each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; } Ich möchte …
Java 8 führt CompletableFutureeine neue Implementierung von Future ein, die zusammensetzbar ist (einschließlich einer Reihe von thenXxx-Methoden). Ich möchte dies ausschließlich verwenden, aber viele der Bibliotheken, die ich verwenden möchte, geben nur nicht zusammensetzbare FutureInstanzen zurück. Gibt es eine Möglichkeit, zurückgegebene FutureInstanzen in a zusammenzufassen, CompleteableFuturedamit ich sie zusammenstellen kann?
Bei der Arbeit in Java 8 habe ich Folgendes TreeSetdefiniert: private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport ist eine ziemlich einfache Klasse, die wie folgt definiert ist: public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport create(long timestamp, Position position) …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.