Java TreeMap vs HashMap

1. Einleitung In diesem Artikel werden zwei Map- Implementierungen verglichen : TreeMap und HashMap . Beide Implementierungen sind integraler Bestandteil des Java Collections Framework und speichern Daten als Schlüssel-Wert- Paare. 2. Unterschiede 2.1. Implementierung Wir werden zuerst über die HashMap sprechen, die eine auf Hashtabellen basierende Implementierung ist. EWeiterlesen »

Leitfaden zur Vererbung in Java

1. Übersicht Eines der Grundprinzipien der objektorientierten Programmierung - die Vererbung - ermöglicht es uns, vorhandenen Code wiederzuverwenden oder einen vorhandenen Typ zu erweitern. Einfach ausgedrückt, in Java kann eine Klasse eine andere Klasse und mehrere Schnittstellen erben, während eine Schnittstelle andere Schnittstellen erben kann. InWeiterlesen »

IllegalMonitorStateException in Java

1. Übersicht In diesem kurzen Tutorial erfahren Sie mehr über java.lang.IllegalMonitorStateException. Wir erstellen eine einfache Sender-Empfänger-Anwendung, die diese Ausnahme auslöst. Dann werden wir mögliche Wege diskutieren, um dies zu verhindern. Abschließend zeigen wir, wie diese Sender- und Empfängerklassen korrekt implementiert werden. 2. WaWeiterlesen »

Verstrichene Zeit in Java messen

1. Übersicht In diesem Artikel sehen wir uns an, wie die verstrichene Zeit in Java gemessen wird. Dies mag einfach klingen, aber es gibt einige Fallstricke, die wir beachten müssen. Wir werden Standard-Java-Klassen und externe Pakete untersuchen, die Funktionen zum Messen der verstrichenen Zeit bieten. Weiterlesen »

So kehren Sie ein Array in Java um

1. Übersicht In diesem kurzen Artikel zeigen wir, wie wir ein Array in Java invertieren können. Wir werden einige verschiedene Möglichkeiten sehen, dies mit reinen Java 8-basierten Lösungen zu tun - einige davon mutieren ein vorhandenes Array und andere erstellen ein neues. Als Nächstes werden zwei Lösungen mit externen Bibliotheken betrachtet - eine mit Apache Commons Lang und eine mit Google Guava . 2. DWeiterlesen »

Speicherverwaltung in Java Interview Fragen (+ Antworten)

Dieser Artikel ist Teil einer Reihe: • Fragen zum Interview mit Java Collections • Fragen zum Java Type System-Interview • Fragen zum Java Concurrency-Interview (+ Antworten) • Fragen zum Java-Klassenstruktur- und Initialisierungsinterview • Fragen zum Java 8-Interview (+ Antworten) • Speicherverwaltung in Java-Interviewfragen (+ Antworten) (aktueller Artikel) • Java Generics-Interviewfragen (+ Antworten) • Fragen zum Java Flow Control-Interview (+ Antworten) • Fragen zum Interview mit Java-Ausnahmen (+ Antworten) • Fragen zum Interview mit Java Annotations (+ Antworten) • Fragen zum Weiterlesen »

Einführung in AutoValue

1. Übersicht AutoValue ist ein Quellcodegenerator für Java und insbesondere eine Bibliothek zum Generieren von Quellcode für Wertobjekte oder werttypisierte Objekte . Um ein Werttypobjekt zu generieren, müssen Sie lediglich eine abstrakte Klasse mit der Annotation @AutoValue versehen und Ihre Klasse kompilieren. WasWeiterlesen »

Maximales Subarray-Problem in Java

1. Übersicht Das maximale Subarray-Problem besteht darin, die Reihe zusammenhängender Elemente mit der maximalen Summe in einem bestimmten Array zu finden. Im folgenden Array hat das hervorgehobene Subarray beispielsweise die maximale Summe (6): In diesem Tutorial werden zwei Lösungen zum Ermitteln des maximalen Subarrays in einem Array vorgestellt . EiWeiterlesen »

Zeitliche Komplexität von Java-Sammlungen

1. Übersicht In diesem Tutorial werden wir uns mit der Leistung verschiedener Sammlungen der Java Collection-API befassen . Wenn wir über Sammlungen sprechen, denken wir normalerweise an die Datenstrukturen List, Map und Set und ihre gemeinsamen Implementierungen. Zunächst werden die Einblicke in die Big-O-Komplexität für allgemeine Vorgänge untersucht und anschließend die tatsächliche Anzahl der Laufzeit einiger Erfassungsvorgänge angezeigt. 2. ZeitWeiterlesen »

Anleitung zu JNI (Java Native Interface)

1. Einleitung Wie wir wissen, ist eine der Hauptstärken von Java seine Portabilität - das heißt, sobald wir Code schreiben und kompilieren, ist das Ergebnis dieses Prozesses plattformunabhängiger Bytecode. Einfach ausgedrückt, kann dies auf jedem Computer oder Gerät ausgeführt werden, auf dem eine Java Virtual Machine ausgeführt werden kann, und es funktioniert so nahtlos, wie wir es erwarten könnten. ManchmaWeiterlesen »