Heim > Java > JavaInterview Fragen > Sammlung klassischer Java-Interviewfragen (3)

Sammlung klassischer Java-Interviewfragen (3)

王林
Freigeben: 2020-07-07 16:54:26
nach vorne
2242 Leute haben es durchsucht

Sammlung klassischer Java-Interviewfragen (3)

1. Der Unterschied zwischen String, StringBuffer und StringBuilder

(empfohlene verwandte Tutorials: Java-Interviewfragen)

Der Wert von String ist unveränderlich, was dazu führt, dass jedes Mal, wenn eine Operation für String ausgeführt wird, ein neues String-Objekt generiert wird.

Objekte der Klassen StringBuffer und StringBuilder können mehrmals geändert werden, ohne dass neue nicht verwendete Objekte generiert werden

Die Geschwindigkeit beträgt: StringBuilder > StringBuffer > Die StringBuilder-Klasse und StringBuffer weisen darauf hin, dass die Methoden von StringBuilder nicht threadsicher sind.

Bilder ansehen:

Sammlung klassischer Java-Interviewfragen (3) (Empfohlenes Tutorial:

Java-Eingabeprogramm

)

2. Alle Alle Klassen erben von der Objektklasse. Welche direkten Unterklassen haben Sie verwendet?

    Boolean
  • Charakter
  • Klasse
  • ClassLoader
  • Compiler
  • Enum
  • String
  • System
  • Thread
  • Gemeinsame Methoden der Objektklasse

    toString ();
  • equal();
  • hashCode();
3. Was sind Generika, wie werden sie angewendet und welchen Nutzen haben sie?

ist ein spezieller Typ, der die Arbeit der Typklärung aufschiebt, bis das Objekt erstellt oder die Methode aufgerufen wird.

Parametrierter Typ, übergeben Sie den Typ als Parameter. Es handelt sich um ein Entwurfsmuster, das Polymorphismus sehr gut unterstützt, beispielsweise verschiedene Container.

Vorteile:

Laufzeitprobleme werden in den Kompilierungszeitraum vorverlagert, wodurch eine erzwungene Typkonvertierung vermieden wird.

4. Warum sollte serialversionUID für die Java-Objektserialisierung verwendet werden?

1. Warum Objekte serialisieren

    Der Prozess der Konvertierung von Objekten in Bytesequenzen wird Objektserialisierung genannt
  • Der Vorgang des Wiederherstellens einer Bytesequenz in einem Objekt wird als Objektdeserialisierung bezeichnet
  • 2. Die Serialisierung von Objekten hat zwei Hauptzwecke:

(1) Das Byte dauerhaft speichern Sequenz des Objekts auf die Festplatte, normalerweise in einer Datei

(2) Übertragen Sie die Bytesequenz des Objekts über das Netzwerk.

3. Warum SerialversionUID verwenden?

Wenn der Benutzer selbst keine SerialVersionUID deklariert, generiert die Schnittstelle standardmäßig eine SerialVersionUID. Wenn dem Objekt ein neues Feld hinzugefügt wird, wird die SerialversionUID zugewiesen Wird vom System geändert, was zu einer Deserialisierungsausnahme führt.

(Empfohlenes Video-Tutorial:

Java-Video-Tutorial

)

Vor- und Nachteile von Reflection

Vorteile

Reflection verbessert die Flexibilität und Skalierbarkeit von Java-Programmen, reduziert die Kopplung und verbessert die Anpassungsfähigkeiten. Es ermöglicht Programmen, Objekte jeder Klasse zu erstellen und zu steuern, ohne die fest codierte Zielklasse zu erhöhen.

Reflection ist in anderen häufig verwendeten Sprachen wie C, C++, Fortran oder Pascal nicht verfügbar.

Die Java-Reflektionstechnologie hat ein breites Anwendungsspektrum, wie z. B. Softwaretests, JavaBeans usw.

Viele beliebte Open-Source-Frameworks wie Struts, Hibernate und Spring nutzen diese Technologie in ihrer Implementierung.

2. Nachteile

(1) Leistung zuerst Leistungsaufwand

Reflection enthält einige dynamische Typen, sodass die JVM diese Codes nicht optimieren kann. Daher sind reflektierende Operationen viel weniger effizient als nicht reflektierende Operationen. Wir sollten die Verwendung von Reflektion in häufig ausgeführtem Code oder in Programmen mit hohen Leistungsanforderungen vermeiden.

(2) Sicherheitsbeschränkungen

Die Verwendung der Reflection-Technologie erfordert, dass das Programm in einer Umgebung ohne Sicherheitsbeschränkungen ausgeführt werden muss. Dies stellt ein Problem dar, wenn ein Programm in einer Umgebung mit eingeschränkter Sicherheit ausgeführt werden muss, beispielsweise in einem Applet. .

(3) Offenlegung von Interna

Da die Reflektion es dem Code ermöglicht, einige Vorgänge auszuführen, die unter normalen Umständen nicht zulässig sind (z. B. Zugriff auf private Eigenschaften und Methoden), kann die Verwendung der Reflektion zu unerwarteten Nebenwirkungen führen Effekte. Der Code weist funktionale Fehler auf, die die Portabilität beeinträchtigen. Reflektierender Code unterbricht die Abstraktion. Wenn sich also die Plattform ändert, kann sich auch das Verhalten des Codes ändern.

Das obige ist der detaillierte Inhalt vonSammlung klassischer Java-Interviewfragen (3). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage