Heim  >  Artikel  >  Java  >  Zehn häufig gestellte Java-Interviewfragen geteilt

Zehn häufig gestellte Java-Interviewfragen geteilt

王林
王林nach vorne
2020-10-12 17:54:252138Durchsuche

Zehn häufig gestellte Java-Interviewfragen geteilt

Lassen Sie uns zunächst über den Unterschied zwischen „final“, „finally“ und „finalize“ sprechen dass es keine neuen Unterklassen mehr ableiten kann und nicht als übergeordnete Klasse vererbt werden kann. Daher kann eine Klasse nicht sowohl abstrakt als auch final deklariert werden. Deklarieren Sie Variablen oder Methoden als endgültig, um sicherzustellen, dass sie während der Verwendung nicht geändert werden. Als final deklarierte Variablen müssen bei der Deklaration einen Anfangswert erhalten und können nur in nachfolgenden Referenzen gelesen und nicht geändert werden. Als final deklarierte Methoden können auch nur verwendet und nicht überladen werden.

finally? Stellen Sie einen final-Block bereit, um während der Ausnahmebehandlung etwaige Bereinigungsvorgänge durchzuführen. Wenn eine Ausnahme ausgelöst wird, wird die entsprechende Catch-Klausel ausgeführt und die Steuerung geht an den „finally“-Block über (falls vorhanden). Finalisieren? Methodenname. Die Java-Technologie ermöglicht die Verwendung der finalize()-Methode, um die erforderliche Bereinigung durchzuführen, bevor der Garbage Collector das Objekt aus dem Speicher löscht. Diese Methode wird vom Garbage Collector für dieses Objekt aufgerufen, wenn er feststellt, dass auf das Objekt nicht verwiesen wird. Es ist in der Object-Klasse definiert und wird daher von allen Klassen geerbt. Unterklassen überschreiben die finalize()-Methode, um Systemressourcen zu organisieren oder andere Bereinigungsarbeiten durchzuführen. Die finalize()-Methode wird für das Objekt aufgerufen, bevor der Garbage Collector es löscht.

Zweitens der Unterschied zwischen HashMap und Hashtable.

Alle Klassen gehören zur Map-Schnittstelle, die die Zuordnung eindeutiger Schlüssel zu bestimmten Werten implementiert.

HashMap-Klasse hat keine Klassifizierung oder Sortierung. Es erlaubt einen Nullschlüssel und mehrere Nullwerte.

Hashtable ähnelt HashMap, erlaubt jedoch keine Nullschlüssel und Nullwerte. Es ist auch langsamer als HashMap, weil es synchron ist.

Drittens erstellt String s = new String("xyz"); mehrere String-Objekte?

Zwei Objekte, eines ist „xyx“ und das andere ist das Referenzobjekt s, das auf „xyx“ zeigt.

Viertens: Was ist der Unterschied zwischen Sleep() und Wait()?

Die Sleep()-Methode ist eine Methode, um den Thread für einen bestimmten Zeitraum anzuhalten. Nach Ablauf des Ruheintervalls nimmt der Thread die Ausführung nicht unbedingt sofort wieder auf. Dies liegt daran, dass zu diesem Zeitpunkt möglicherweise andere Threads ausgeführt werden und die Ausführung nicht aufgegeben werden soll, es sei denn (a) der „aufwachende“ Thread hat eine höhere Priorität (b) der laufende Thread ist aus anderen Gründen blockiert.

wait() ist, wenn der Thread einen wait()-Aufruf an ein Synchronisationsobjekt x ausgibt, unterbricht der Thread die Ausführung und das aufgerufene Objekt wechselt in den Wartezustand, bis es aktiviert wird oder die Wartezeit abläuft.

Fünfter, kurz s1 = s1 + 1; Was ist falsch? Typ short, s1+1 ist vom Typ int und kann nicht explizit in den Typ short konvertiert werden. Es kann als s1 =(kurz)(s1 + 1) geändert werden. kurz s1 = 1; s1 += 1 ist richtig.

(Empfohlenes Tutorial:

Java-Kurs

)

Sechstens der Unterschied zwischen Overload und Override. Können überladene Methoden die Art des Rückgabewerts ändern? Überschreiben und Überladen von Methoden sind unterschiedliche Erscheinungsformen des Java-Polymorphismus. Überschreiben ist eine Manifestation des Polymorphismus zwischen Elternklassen und Unterklassen, und Überladung ist eine Manifestation des Polymorphismus in einer Klasse. Wenn eine in einer Unterklasse definierte Methode denselben Namen und dieselben Parameter wie ihre übergeordnete Klasse hat, spricht man von einer überschreibenden Methode. Wenn ein Objekt einer Unterklasse diese Methode verwendet, wird die Definition in der Unterklasse aufgerufen. Dadurch erscheint die Definition in der übergeordneten Klasse als „abgeschirmt“. Wenn in einer Klasse mehrere Methoden mit demselben Namen definiert sind und diese eine unterschiedliche Anzahl von Parametern oder unterschiedliche Parametertypen haben, spricht man von Methodenüberladung. Eine überladene Methode kann den Typ des Rückgabewerts ändern.

Siebentens können die Elemente in Set nicht wiederholt werden. Welche Methode wird also verwendet, um Wiederholungen zu unterscheiden?

Die Elemente in Set können nicht wiederholt werden die Methode iterator(), um zu unterscheiden, ob sie wiederholt wird oder nicht. equal() bestimmt, ob zwei Mengen gleich sind. Die Methoden equal() und == bestimmen, ob der Referenzwert auf dasselbe Objekt zeigt. equal() wird in der Klasse überschrieben, um einen wahren Wert zurückzugeben, wenn die Inhalte und Typen der beiden separaten Objekte übereinstimmen.

Achtend, was ist der Unterschied zwischen Fehler und Ausnahme?

Fehler stellen ein ernstes Problem in einer Situation dar, in der eine Wiederherstellung nicht unmöglich, aber schwierig ist. Zum Beispiel Speicherüberlauf. Es ist unmöglich, von einem Programm zu erwarten, dass es mit einer solchen Situation zurechtkommt.

Ausnahme stellt ein Design- oder Implementierungsproblem dar. Das heißt, es stellt eine Situation dar, die bei normaler Ausführung des Programms niemals eintreten würde.

Neuntens, nennen Sie mir eine Laufzeitausnahme, die Sie am häufigsten sehen.

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

Zehntens können die Elemente im Set nicht wiederholt werden. Welche Methode wird also verwendet, um zu unterscheiden, ob sie sich wiederholen?

Was ist der Unterschied zwischen ihnen? kann nicht wiederholt werden. Verwenden Sie dann die Methode iterator(), um Duplikate zu unterscheiden. equal() bestimmt, ob zwei Mengen gleich sind.

Die Methoden equal() und == bestimmen, ob der Referenzwert auf dasselbe Objekt verweist. equal() wird in der Klasse überschrieben, um einen wahren Wert zurückzugeben, wenn die Inhalte und Typen der beiden separaten Objekte übereinstimmen.

Verwandte Empfehlungen: Java-Einführungs-Tutorial

Das obige ist der detaillierte Inhalt vonZehn häufig gestellte Java-Interviewfragen geteilt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen