Top 130+ Fragen und Antworten zu Java-Interviews 2022
Veröffentlicht: 2021-01-01Fragen und Antworten zu Java-Interviews
In diesem Artikel haben wir die am häufigsten gestellten Java-Interviewfragen zusammengestellt. Diese Fragen machen Sie mit der Art von Fragen vertraut, die Ihnen ein Interviewer während Ihres Vorstellungsgesprächs für Java-Programmierung stellen könnte
Als Fresher haben Sie entweder gerade an einem Vorstellungsgespräch teilgenommen oder planen, bald an einem teilzunehmen. Als Berufseinsteiger, der seine Karriere in der Softwareprogrammierung ausbauen möchte, sind Sie vielleicht nervös wegen Ihrer bevorstehenden Vorstellungsgespräche . Wir alle haben diese Momente der Panik, in denen wir abschalten und vielleicht sogar vergessen, was ein Faden ist. Wir vereinfachen es für Sie, alles was Sie tun müssen, atmen Sie tief durch und überprüfen Sie die Fragen, die am wahrscheinlichsten gestellt werden.
Sie können es nicht vermeiden, in Panik zu geraten, aber Sie können sich auf jeden Fall darauf vorbereiten, wenn Sie diesen Interviewraum betreten. Sie sind selbstbewusst und wissen, dass Sie mit allem umgehen können, was der Interviewer Ihnen entgegenwerfen könnte.
Lernen Sie Software-Engineering-Programme online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Hier ist eine zusammengestellte Liste umfassender 24 Java-Interviewfragen mit Antworten (neueste 2022), die Ihnen helfen werden, dieses Selbstvertrauen aufzubauen und sicherzustellen, dass Sie durch das Interview segeln.
1. Was umfasst JVM alles?
JVM, kurz für Java Virtual Machine, wird von jedem System benötigt, um Java-Programme auszuführen. Seine Architektur besteht im Wesentlichen aus:
● Classloader: Es ist ein Subsystem von JVM und seine Hauptfunktion besteht darin, Klassendateien zu laden, wenn ein Java-Programm ausgeführt wird.
● Heap: Dies sind die Laufzeitdaten, die zum Zuweisen von Objekten verwendet werden.
● Klassenbereich: Er enthält die Klassenebene jeder Klassendatei, z. B. statische Variablen, Metadaten und Constant-Run-Pool.
● Stack: Wird zum Speichern temporärer Variablen verwendet.
● Register: Das Register enthält die Adresse des aktuell ausgeführten JVM-Befehls
● Ausführungsmodul: Die EE besteht aus einem virtuellen Prozessor, einem Interpreter, der Anweisungen nach dem Lesen des Bytecodes ausführt, und einem JIT-Compiler, der die Leistung verbessert, wenn die Ausführungsgeschwindigkeit langsam ist.
● Java Native Interface: Es fungiert als Kommunikationsmedium für die Interaktion mit einer anderen Anwendung, die in C, C++ usw. entwickelt wurde.

2. Was ist objektorientierte Programmierung? Ist Java eine objektorientierte Sprache?
Objektorientierte Programmierung ist im Wesentlichen ein Programmierparadigma, das auf dem Konzept von Objekten arbeitet. Einfach ausgedrückt sind Objekte Container – sie enthalten Daten in Form von Feldern und Code in Form von Prozeduren. Nach dieser Logik ist eine objektorientierte Sprache eine Sprache, die mit Objekten und Prozeduren arbeitet.
Da Java 8 primitive Datentypen verwendet – boolean, byte, char, int, float, long, short, double – die keine Objekte sind, kann Java nicht als zu 100 % objektorientierte Sprache betrachtet werden.

3. Was verstehen Sie unter Aggregation im Zusammenhang mit Java?
Aggregation ist eine Form der Assoziation, bei der jedem Objekt ein eigener Lebenszyklus zugeordnet wird. Aber es gibt eine Eigentümerschaft, und das untergeordnete Objekt kann in keiner Weise zu einem anderen übergeordneten Objekt gehören.
4. Benennen Sie die Oberklasse in Java.
Java.lang. Alle verschiedenen nicht-primitiven Elemente werden direkt oder indirekt von dieser Klasse geerbt.
5. Erklären Sie den Unterschied zwischen „finally“ und „finalize“ in Java?
Zusammen mit dem try-catch-Block wird der „finally“-Block verwendet, um sicherzustellen, dass ein bestimmter Codeabschnitt immer ausgeführt wird, selbst wenn die Ausführung durch den try-catch-Block ausgelöst wird.
Im Gegensatz dazu ist finalize() eine spezielle Methode in der Objektklasse. Es wird im Allgemeinen überschrieben, um Systemressourcen freizugeben, wenn Garbage Value vom Objekt gesammelt wird.
6. Was ist eine anonyme innere Klasse? Wie unterscheidet es sich von einer inneren Klasse?
Jede lokale innere Klasse, die keinen Namen hat, wird als anonyme innere Klasse bezeichnet. Da es keinen Namen hat, ist es unmöglich, seinen Konstruktor zu erstellen. Es erweitert immer entweder eine Klasse oder implementiert eine Schnittstelle und wird in einer einzigen Anweisung definiert und instanziiert.
Eine nicht statische verschachtelte Klasse wird als innere Klasse bezeichnet. Innere Klassen sind den Objekten der Klasse zugeordnet und können auf alle Methoden und Variablen der äußeren Klasse zugreifen.
7. Was ist eine Systemklasse?
Es ist eine Kernklasse in Java. Da die Klasse final ist, können wir ihr Verhalten nicht durch Vererbung überschreiben. Wir können diese Klasse auch nicht instanziieren, da sie keine öffentlichen Konstruktoren bereitstellt. Daher sind alle seine Methoden statisch.

8. Wie erstellt man einen Daemon-Thread in Java?
Wir verwenden die Klasse setDaemon(true), um diesen Thread zu erstellen. Wir rufen diese Methode vor der Methode start() auf, sonst erhalten wir IllegalThreadStateException.
9. Unterstützt Java globale Variablen? Warum Warum nicht?
Nein, Java unterstützt keine globalen Variablen. Dies hat vor allem zwei Gründe:
● Sie erzeugen Kollisionen im Namensraum.
● Sie brechen die referentielle Transparenz.
10. Wie wird ein RMI-Objekt entwickelt?
Die folgenden Schritte können unternommen werden, um ein RMI-Objekt zu entwickeln:
● Definieren Sie die Schnittstelle
● Implementieren Sie die Schnittstelle
● Kompilieren Sie die Schnittstelle und ihre Implementierungen mit dem Java-Compiler
● Kompilieren Sie die Serverimplementierung mit dem RMI-Compiler
● Führen Sie die RMI-Registrierung aus
● Anwendung ausführen
11. Erklären Sie die Unterschiede zwischen Time Slicing und Preemptive Scheduling?
Beim Time Slicing wird eine Aufgabe für einen bestimmten Zeitrahmen ausgeführt – auch bekannt als Slice. Danach tritt es in die Bereitschaftswarteschlange ein – ein Pool von „bereiten“ Aufgaben. Der Scheduler wählt dann basierend auf der Priorität und anderen Faktoren die nächste auszuführende Aufgabe aus.
Während beim präventiven Scheduling die Task mit der höchsten Priorität ausgeführt wird, entweder bis sie in einen toten Zustand oder einen Warnzustand eintritt oder wenn eine andere Task mit höherer Priorität hinzukommt.
12. Garbage Collector Thread ist was für ein Thread?
Es ist ein Daemon-Thread.
13. Was ist der Lebenszyklus eines Threads in Java?
Jeder Thread in Java durchläuft in seinem Lebenszyklus die folgenden Phasen:
● Neu
● Lauffähig
● Laufen
● Nicht lauffähig (blockiert)
● Beendet
14. Geben Sie die Methoden an, die während des Deserialisierungs- und Serialisierungsprozesses verwendet werden.
ObjectInputStream.readObject
Liest die Datei und deserialisiert das Objekt.
ObjectOutputStream.writeObject
Serialisieren Sie das Objekt und schreiben Sie das serialisierte Objekt in eine Datei.
15. Was sind flüchtige Variablen und wozu dienen sie?
Flüchtige Variablen sind Variablen, die immer aus dem Hauptspeicher und nicht aus dem Cache-Speicher des Threads gelesen werden. Diese werden im Allgemeinen während der Synchronisation verwendet.
16. Was sind Wrapper-Klassen in Java?
Allen primitiven Datentypen in Java ist eine Klasse zugeordnet – sogenannte Wrapper-Klassen. Sie werden als Wrapper-Klassen bezeichnet, weil sie den primitiven Datentyp in ein Objekt für die Klasse „verpacken“. Kurz gesagt, sie konvertieren Java-Primitive in Objekte.
17. Wie können wir eine Singleton-Klasse erstellen?
Indem man seinen Konstruktor privat macht.
18. Was sind die wichtigen Methoden der Ausnahmeklasse in Java?
● Zeichenfolge getMessage()
● Zeichenfolge toString()
● void printStackTrace()
● synchronisiertes Throwable getCause()
● öffentliches StackTraceElement[] getStackTrace()
19. Wie können wir einen Thread in Java erstellen?
Wir können einer der beiden Möglichkeiten folgen, um einen Thread in Java zu erstellen:
● Durch Erweiterung der Thread-Klasse
Der Nachteil dieser Methode ist, dass wir keine anderen Klassen erweitern können, da die Thread-Klasse bereits erweitert wurde.
● Durch Implementieren der Runnable-Schnittstelle
20. Erklären Sie die Unterschiede zwischen den Methoden get() und load().
Die Methoden get() und load() haben die folgenden Unterschiede:
● get() gibt null zurück, wenn das Objekt nicht gefunden wird, wohingegen load() die Ausnahme ObjectNotFound auslöst.
● get() gibt immer ein echtes Objekt zurück, während load() ein Proxy-Objekt zurückgibt.
● Die Methode get() trifft immer auf die Datenbank, während load() dies nicht tut.
● get() sollte verwendet werden, wenn Sie sich nicht sicher sind, ob eine Instanz existiert, wohingegen load() verwendet werden sollte, wenn Sie sicher sind, dass die Instanz existiert.
21. Was ist der Standardwert der lokalen Variablen?
Sie werden nicht auf einen Standardwert initialisiert. Weder sind Primitive noch Objektreferenzen.
22. Was ist Singleton in Java?
Es ist eine Klasse mit einer Instanz in der gesamten Java-Anwendung. Beispielsweise ist java.lang.Runtime eine Singleton-Klasse. Das Hauptziel von Singleton besteht darin, die Objekterstellung zu steuern, indem der private Konstruktor beibehalten wird.
23. Was ist die statische Methode?
Eine statische Methode kann aufgerufen werden, ohne dass eine Instanz einer Klasse erstellt werden muss. Eine statische Methode gehört eher zur Klasse als zu einem Objekt einer Klasse. Eine statische Methode kann auf ein statisches Datenelement zugreifen und dessen Wert ändern.
24. Was ist die Ausnahme?
Ausnahmen Ungewöhnliche Bedingungen während des Programms. Dies kann auf eine falsche Logik zurückzuführen sein, die durch falsche Benutzereingaben oder Programmierer geschrieben wurde.
25. Wie würden Sie Java in einfachen Worten definieren?
Java ist ein plattformunabhängiges, objektorientiertes Portal auf hohem Niveau und bietet leistungsstarke Unterstützung für die Erstellung anspruchsvoller Programme, Anwendungen und Websites. Java ist eine Allzweck-Programmiersprache, die es Entwicklern ermöglicht, Anwendungen mit umfangreichen Funktionen mit ihrer WORA-Umgebung (Write Once Run Anywhere) zu erstellen. James Arthur Gosling, ein Informatiker aus Kanada, entwickelte Java 1991 und ist im Volksmund als „Dr. Java“ bekannt. Heute ist Java zu einer wesentlichen Grundlage für die moderne IT-Branche geworden.
26 . Was ist Java String Pool?
Ein String-Pool in Java ist ein bestimmter Ort, an dem ein Pool von Strings über den Java-Heap-Speicher gespeichert ist. Hier stellt String eine spezielle Klasse in Java dar, und String-Objekte können entweder mit einem new-Operator oder mit Werten in doppelten Anführungszeichen erstellt werden.
Der String ist in Java unveränderlich, wodurch der String-Pool und die weitere Implementierung über String-Interning-Konzepte machbar werden.
27. Was ist eine Collection-Klasse in Java? Listen Sie seine Methoden und Schnittstellen auf?
Java-Collection-Klassen sind spezielle Klassen, die ausschließlich mit statischen Methoden verwendet werden, die speziell auf Return-Collections arbeiten. Java-Sammlungen erben standardmäßig eine Klasse und haben zwei wesentliche Funktionen:
- Sie unterstützen und arbeiten mit polymorphen Algorithmen, die neue Sammlungen für jede spezifische Sammlung zurückgeben.
- Methoden in der Java-Sammlung lösen eine NullPointerException aus, falls die Klassenobjekte oder Sammlungen einen Nullwert haben.
Diese werden als Java.util.Collectionclass dargestellt und deklariert.
Es gibt mehr als 60 Methoden, Modifikatoren und Typen von Java Collection-Klassen. Hier ist eine Liste der wichtigsten Methoden in der Java Collection Class:
| S. Nr. | Modifikator, Methode und Typ | Beschreibung |
| 1. | statisch <T> boolesch addAll() | Diese Methode ermöglicht das Hinzufügen bestimmter Elemente zu einer bestimmten Sammlung. |
| 2. | Statisch <T> Warteschlange <T> asLifoQueue() | Diese Methode ermöglicht die Auflistung der Sammlung als Last-in-first-out (LIFO) in Sicht. |
| 3. | statisch <T> int binarySearch() | Diese Methode ermöglicht die Suche nach einem bestimmten Objekt und gibt sie dann in einer sortierten Liste zurück. |
| 4. | statische <E> Sammlung<E> | Diese Methode gibt die dynamische Ansicht aus einer bestimmten Sammlung zurück. |
| 5. | statisch <E> Liste <E> | Diese Methode gibt eine dynamische typsichere Ansicht aus einer bestimmten Liste zurück. |
Hier sind einige Beispiele für die Java-Sammlung:
Java Collection min() Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 | java.util.* importieren ; öffentliche Klasse CollectionsExample { public static void main ( String a []){ List < Integer > list = new ArrayList < Integer > (); Liste . hinzufügen ( 90 ); Liste . hinzufügen ( 80 ); Liste . hinzufügen ( 76 ); Liste . hinzufügen ( 58 ); Liste . hinzufügen ( 12 ); System . aus . println ( "Mindestwertelement in der Sammlung: " + Sammlungen . min ( Liste )); } } |
Die Ausgabe wird sein:
Mindestwertelement in der Sammlung: 12 |
Java Collection max() Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 | java.util.* importieren ; öffentliche Klasse CollectionsExample { public static void main ( String a []){ List < Integer > list = new ArrayList < Integer > (); Liste . hinzufügen ( 90 ); Liste . hinzufügen ( 80 ); Liste . hinzufügen ( 76 ); Liste . hinzufügen ( 58 ); Liste . hinzufügen ( 12 ); System . aus . println ( "Element mit maximalem Wert in der Sammlung: " + Sammlungen . max ( Liste )); } } |
Die Ausgabe wird sein:
Maximalwertelement in der Sammlung: 90 |
28 . Was ist ein Servlet?
Servlets sind Java-Softwarekomponenten, die einem Java-Server über Technologie, API, Schnittstelle, Klasse oder eine beliebige Webbereitstellung weitere Funktionen hinzufügen. Servlets werden speziell auf Java-betriebenen Webanwendungsservern ausgeführt und sind in der Lage, komplexe Anforderungen vom Webserver zu verarbeiten. Servlets bieten den Vorteil einer höheren Leistung, Robustheit, Skalierbarkeit und Portabilität und gewährleisten die Sicherheit für die Java-Anwendungen.
Servlet-Prozess oder -Ausführung:
- Dies beginnt, wenn ein Benutzer eine Anfrage von einem Webbrowser sendet.
- Der Webserver empfängt diese Anfrage und leitet sie dann an das spezifische Servlet weiter.
- Das Servlet verarbeitet dann diese Anfrage, um eine bestimmte Antwort mit Ausgabe zu erhalten.
- Das Servlet sendet diese Antwort dann zurück an den Webserver.
- Dann erhält der Webserver die Informationen, die der Browser auf dem Bildschirm anzeigt.
Java-Servlets verfügen über mehrere Klassen und Schnittstellen wie GenericServlet, ServletRequest, Servlet-API, HttpServlet, ServeResponse usw.
29. Was ist Request Dispatcher?
Im Servlet fungiert RequestDispatcher als Schnittstelle zum Definieren eines Objekts zum Empfangen von Anfragen von Clients auf der einen Seite und zum Weiterleiten an bestimmte Ressourcen auf der anderen Seite (das kann ein Servlet, HTML, JSP sein). Dieser RequestDispatcher hat im Allgemeinen zwei Methoden:
| void forward (ServletRequest-Anfrage, ServletResponse-Antwort) | Das erlaubt und leitet die Anfragen von beliebigen Servlets an Serverressourcen in Form eines Servlets, einer HTML-Datei oder einer JSP-Datei weiter. |
| void include(ServletRequest-Anfrage, ServletResponse-Antwort) | Das hat Inhalt für eine bestimmte Ressource in Form einer Antwort wie einer HTML-Datei, einer JSP-Seite oder einem Servlet. |
30. Was ist der Lebenszyklus eines Servlets?
Servlet ist eine Java-Softwarekomponente, deren Hauptfunktion darin besteht, zuerst die Anforderung entgegenzunehmen, dann die Anforderung zu verarbeiten und dem Benutzer eine Antwort in einer HTML-Seite zu geben. Hier verwaltet Servlet Container den Lebenszyklus eines Servlets. Hier sind die wichtigsten Etappen:
- Servlets werden geladen.
- Dann initialisieren Sie das Servlet.
- Behandeln der Anforderung (Aufrufen der Dienstmethode).
- Dann das Servlet zerstören.
Hier ist ein kurzes Diagramm, das den Lebenszyklus eines Java-Servlets zeigt: 
Quelle
- Servlets werden geladen
Der Lebenszyklus für Servlets beginnt mit der Ladephase im Servlet-Container. Das Servlet wird auf eine der beiden Arten geladen mit:
- Festlegen des Servlets als positiver oder ganzzahliger Nullwert.
- Zweitens kann es bei diesem Prozess zu Verzögerungen kommen, da der Container das richtige Servlet zur Bearbeitung der Anfrage auswählt.
Jetzt laden die Container zuerst die Servlet-Klasse und bauen dann eine Instanz über den Konstruktor ohne Argumente.
- Servlet wird initialisiert
Der nächste Schritt besteht darin, die Methode Servlet.init(ServletConfig) zu verwenden, um das Servlet für die JDBC-Datenquelle zu initialisieren.
- Bearbeitung der Anfrage (Aufrufdienstmethode)
Hier nimmt das Servlet die Client-Anforderungen entgegen und führt die erforderliche Operation mit der Methode service() aus.
- Zerstörung des Servlets
Jetzt zerstört der Servlet-Container das Servlet, indem er bestimmte Aufgaben ausführt und abschließt und die Methode destrue() in der Instanz aufruft.
31. Was sind die verschiedenen Methoden der Sitzungsverwaltung in Servlets?
Sitzungen verfolgen die Aktivität des Benutzers, nachdem er sich auf der Website angemeldet hat. Die Sitzungsverwaltung stellt den Mechanismus bereit, Informationen für jeden unabhängigen Benutzer zu beschaffen. Hier sind die vier verschiedenen Methoden für die Sitzungsverwaltung in den Servlets:
- HttpSession
- Kekse
- URL-Umschreibung
- Ausgeblendetes HTML-Feld
32. Was ist ein JDBC-Treiber?
Java Database Connectivity (JDBC) fungiert hier als Softwarekomponente, die es Java-Anwendungen ermöglicht, mit einer Datenbank zu kommunizieren.
JDBC-Treiber haben die folgenden vier Typen in der Umgebung:
- JDBC-ODBC-Brückentreiber
- Netzwerkprotokolltreiber (Middleware-Treiber)
- Datenbankprotokolltreiber (vollständiger Java-Treiber)
- Native-API-Treiber
33. Was ist die JDBC Connection-Schnittstelle?
Verbindungen definieren die Sitzungen zwischen der Datenbank und Java-Anwendungen. Die JDBC-Verbindungsschnittstelle ist nur Teil des java.sql-Pakets und stellt Sitzungsinformationen für eine bestimmte Datenbank bereit. Diese stellen mehrere SQL-Anweisungen zur Ausführung und Ergebnisse im Kontext einer einzelnen Verbindungsschnittstelle dar. Hier sind die wichtigsten Methoden für die Connections-Schnittstelle:
- createStatement() : Zum Erstellen eines bestimmten Statement-Objekts zum Hinzufügen von SQL-Statements zu einer bestimmten Datenbank.
- setAutoCommit(boolean status) : Um die Verbindung eines Commit-Modus mit einer falschen oder wahren Direktive zu definieren.
- commit() : Das macht alle Änderungen vom letzten Commit und gibt jede Datenbank weiter frei, die derzeit von dem spezifischen Connection-Objekt gehalten wird.
- rollback() : Das macht alle Änderungen, die in der vergangenen oder aktuellen Transaktion vorgenommen wurden, rückgängig oder rückgängig und gibt auch die derzeit gehaltene Datenbank im Verbindungsobjekt frei.
- close() : Beendet oder schließt die aktuelle Verbindung und gibt auch die JDBC-Ressourcen sofort frei oder löscht sie.
34. Nennen Sie die verschiedenen Module des Spring-Frameworks?
Es gibt mehrere Module im Spring-Framework:
- Web-Modul
- Struts-Modul
- Servlet-Modul
- Core-Container-Modul
- Aspektorientierte Programmierung (AOP)
- Anwendungskontextmodul
- MVC-Framework-Modul
- JDBC-Abstraktion und DAO-Modul
- OXM-Modul
- Expression Language-Modul
- Transaktionsmodul
- Java Messaging Service (JMS)-Modul
- ORM-Integrationsmodul
Diese Module sind in Gruppen vorhanden:

Quelle
35. Erklären Sie Bean in Spring und listen Sie die verschiedenen Bereiche von Spring Bean auf.
Beans sind eines der grundlegenden Konzepte des Spring-Frameworks zur effizienten Verwaltung von Strukturen. In einer einfachen Definition stellt Spring Bean die IoC-Container dar, die das Objekt verwalten, das das Rückgrat von Anwendungen bildet.
Anwendungsbereiche von Spring Bean:
Scopes spielen eine entscheidende Rolle beim effektiven Einsatz von Spring Beans in der Anwendung. Scope hilft uns, den Lebenszyklus der Spring Bean zu verstehen, und sie haben die folgenden Typen .
| S. Nr. | Geltungsbereich und Beschreibung |
| 1. | Singleton – Standardmäßig hat der Spring-Bean-Bereich einen Singleton-Bereich, der nur eine Instanz für den Spring IOC-Container darstellt. Dasselbe Objekt wird für jede Anfrage geteilt. |
| 2. | Prototype – In diesem Fall wird für jede einzelne Bean-Definition eine neue Instanz aufgerufen und erstellt, jedes Mal, wenn eine Anfrage für eine bestimmte Bean gestellt wird. |
| 3. | Anfrage – In diesem Bereich wird eine einzelne Bean aufgerufen und für jede HTTP-Anfrage für diese spezifische Bean erstellt. |
| 4. | Sitzung – Dieser Bereich definiert die einzelne Bean-Nutzung für einen Lebenszyklus in einer bestimmten globalen HTTP-Sitzung. |
| 5. | Global-session – Dieser Bereich ermöglicht eine einzelne Bean für den jeweiligen Lebenszyklus zur Implementierung in der globalen HTTP-Sitzung. |
Hinweis: Die letzten drei Bereiche gelten nur im webfähigen Spring ApplicationContext.
Must Read: Warum Java bei Entwicklern so beliebt ist
36. Erklären Sie die Rolle von DispatcherServlet und ContextLoaderListener.
Beim Konfigurieren der XML-basierten Spring MVC-Konfiguration in der Datei web.xml spielen zwei Deklarationen von DispatcherServlet und ContextLoaderListener eine wesentliche Rolle bei der Ergänzung des Zwecks des Frameworks.
- DispatcherServlet –
DispatcherServlet hat den Hauptzweck, eingehende Webanfragen für bestimmte übereinstimmende konfigurierte URI-Muster zu verwalten. DispatcherServlet fungiert als Front-Controller für den Kern der Spring MVC-Anwendung und lädt speziell die Konfigurationsdatei und initialisiert dann die richtigen Beans, die in dieser Datei vorhanden sind. Und wenn Anmerkungen aktiviert sind, kann es auch die Konfigurationen und Pakete auf alle mit @Repository, @Component, @Service oder @Controller kommentierten überprüfen und scannen.
- ContextLoaderListener –
ContextLoaderListener fungiert hier als Anforderungslistener zum Starten und Herunterfahren von Root-WebApplicationContext. Es erstellt und teilt also den Root-Anwendungskontext mit untergeordneten Kontexten durch die DispatcherServlet-Kontexte. Anwendungen können nur einen Eintrag für den ContextLoaderListener in der web.xml verwenden.
37. Erklären Sie die Hibernate-Architektur.
Hibernate definiert eine mehrschichtige Architektur, die es Benutzern ermöglicht, zu arbeiten und zu arbeiten, ohne die zugrunde liegenden APIs zu kennen, dh Hibernate fungiert als Rahmen zum Erstellen und Entwickeln von Persistenzlogik unabhängig von der Datenbanksoftware.
Die Hibernate-Architektur hat die vier Hauptschichten mit:
- Java-Anwendungsschicht
- Datenbankschicht
- Backend-API-Schicht
- Framework-Layer überwintern
Elemente der Hibernate-Architektur
Es gibt mehrere Aspekte und Spielräume für die Hibernate-Architektur. Um mehr darüber zu erfahren, müssen Sie die Elemente der Hibernate-Architektur kennen.
- SessionFactory: SessionFactory bietet die Methode zum Erstellen von Sitzungsobjekten, die nur im org.hiberate-Paket vorhanden sind. Es ist von Natur aus Thread-sicher, unveränderlich und enthält und bewahrt den Second-Level-Cache der Daten.
- Sitzung: Sitzungsobjekte stellen die Schnittstelle für Verbindungs- und Datenbanksoftware über das Hibernate-Framework bereit.
- Transaktion: Schnittstelle, die das Transaktionsmanagement unterstützt und eine Änderung in der Datenbank ermöglicht.
- ConnectiveProvider: Als Teil der JDBC-Verbindungen trennt es die Hauptanwendung von der DataSource oder dem DriverManager.
- TransactionFactory: Repräsentiert die Factory der Transaktion.
38. Was ist eine Ausnahmehierarchie in Java?
Die Ausnahme definiert die unerwünschten Ereignisse, die während des Laufs oder der Ausführung des Programms auftreten. Ausnahme stört den regulären Ablauf des Programms.
Die Ausnahmehierarchie ist Teil der java.lang.Exception-Klasse und fällt nur unter die primäre Throwable-Klasse. Eine weitere Unterklasse „ Error “ repräsentiert ebenfalls die Throwable-Klasse in Java. Obwohl Fehler im Falle eines Fehlers ungewöhnliche Zustände sind, werden sie dennoch nicht von den Java-Programmen behandelt oder gelöscht.
Es gibt zwei primäre Unterklassen für außergewöhnliche Hierarchien in Java mit der RuntimeException-Klasse und der IOCException-Klasse.
39. Was ist Synchronisation?
Synchronisation in Java definiert die Fähigkeit, den Zugriff mehrerer Threads auf eine bestimmte Ressource zu verwalten und zu steuern. Damit kann ein Thread zum jetzigen Zeitpunkt auf eine bestimmte Ressource zugreifen. Hier erlaubt Java die Entwicklung von Threads und die anschließende Synchronisierung von Tasks über die Synchronisierungsblöcke.
Diese synchronisierten Blöcke erlauben nur die Ausführung eines Threads für eine bestimmte Zeit und blockieren die anderen Threads, bis der aktuelle Thread den Block verlässt. Hier ist das Monitorkonzept entscheidend für die Implementierung der Synchronisation in Java. Sobald der Thread in eine Sperrphase geht, wird er als Eintritt in den Monitor bezeichnet. Somit werden alle anderen Threads gesperrt, es sei denn, der erste Thread hat den Monitor verlassen.
40. Welche Eigenschaften machen Java zu einer der besten Programmiersprachen?
Hier sind die wichtigsten Funktionen, die Java zum Starten Ihrer Lernkurve in der Programmierwelt machen:
- Einfachheit: Java ist recht einfach zu lernen und zu schreiben. Die Java-Syntax ist in C++, die es den Entwicklern ermöglicht, Programme nahtlos zu schreiben.
- OOPS: Java basiert auf dem objektorientierten Programmiersystem (OOPS) und ermöglicht es daher, Code in mehreren Arten von Objekten mit unterschiedlichen Daten und unterschiedlichem Verhalten zu erstellen.
- Dynamisch: Java ist eine vollständig dynamische Sprache, die das Laden dynamischer Klassen unterstützt, wann immer und wo immer es erforderlich ist. Und es bietet auch umfassende Unterstützung für native Codesprachen wie C, C++ usw.
- Plattformunabhängig: Java unterstützt auch exklusive und plattformunabhängige Programmiersprachen, sodass Entwickler ihr Programm nur auf ihrer Plattform ausführen können.
- Portabilität: Java hat einen „Reach Once Write Anywhere“-Ansatz, der es ermöglicht, den Code auf jeder Plattform auszuführen.
- Sicherheit: Das Befolgen des Konzepts von ByteCode, die Ausnahmebehandlung und das Fehlen expliziter Zeiger machen Java zu einer hochsicheren Umgebung.
Java ist außerdem architektenneutral und unabhängig von irgendeiner Architektur. Starke Speicherverwaltung und automatische Garbage Collection verleihen der Umgebung mehr Robustheit.
41. Warum ermöglicht Java eine hohe Leistung?
Die Verwendung des Just-in-Time (JIT)-Compilers in seiner Architektur macht Java zu einer der leistungsstarken Programmiersprachen, da es Anweisungen in Bytecodes umwandelt.
42. Nennen Sie die beliebtesten Java-IDEs.
In der Branche sind viele IDEs für Java verfügbar. Hier sind die fünf wichtigsten Java-IDEs, mit denen Sie heute mit dem Erlernen dieser Programmiersprache beginnen können:
- Finsternis
- Netbohnen
- IntelliJ
- JDeveloper
- MyEclipse
43. Definieren Sie die Hauptunterschiede zwischen Java und anderen Plattformen?
Zwei Hauptunterschiede, die Java von anderen Plattformen abheben, sind:
- Java ist in erster Linie eine softwarebasierte Plattform, während andere entweder software- oder hardwarebasierte Plattformen sein können.
- Java läuft oder wird auf jeder Hardwareplattform ausgeführt, während andere spezielle Hardwareanforderungen erfordern.
44. Was bringt Java dazu, seine WORA-Natur (einmal schreiben und überall ausführen) zu haben?
Nun, die Ein-Wort-Antwort lautet Bytecode. Der Java-Compiler konvertiert alle Java-Programme in einen bestimmten Byte-Code, der als Vermittlersprache zwischen dem Maschinencode und dem Quellcode fungiert. ByteCode kann auf jedem Computer ausgeführt werden und ist plattformunabhängig.
45. Erklären Sie die verschiedenen Arten von Zugriffsspezifizierern, die in Java verwendet werden.
In der Programmiersprache Java stellen Zugriffsbezeichner den genauen Geltungsbereich für eine Klasse, eine Variable oder eine Methode dar. Es gibt vier Hauptzugriffsbezeichner:
- Auf öffentlich definierte Variablen, Methoden oder Klassen kann über jede Methode oder Klasse zugegriffen werden.
- Der geschützte Zugriffsspezifizierer definiert den Geltungsbereich einer Klasse, Methode und Variablen auf dasselbe Paket, innerhalb derselben Klasse oder auf diese bestimmte Unterklasse der Klasse.
- Der Standardbereich gilt für alle vorhandenen Klassen, Variablen und Methoden mit nur Zugriff auf das Paket.
- Der Private -Bereich behält den Zugriff von Klassen, Variablen und Methoden nur auf eine bestimmte Klasse.
Lesen Sie: Java-Swing-Projekt
46. Erklären Sie die Bedeutung von Paketen in Java und ihre Vorteile.
Pakete sind ein Gruppierungsmechanismus für ähnliche Typen (Schnittstelle, Klassen, Anmerkungen und Aufzählungen), der den Schutz der Assets und eine umfassende Namensverwaltung gewährleistet.
Hier sind die Vorteile von Paketen in Java:
- Pakete helfen uns, Namenskonflikte zu vermeiden, wenn Klassen mit demselben Namen in zwei verschiedenen Paketen vorhanden sind.
- Pakete helfen dabei, die Zugriffskontrolle systematisch zu gestalten.
- Erstellen Sie versteckte Klassen, die von den Paketen verwendet werden sollen.
- Hilft bei der Suche nach verwandten Klassen für das Paket.
47. Wie würden Sie Konstruktor in Java definieren?
Konstruktoren sind ein spezieller Codeblock, der ein Objekt zum Zeitpunkt der Erstellung initialisiert. Obwohl es eine Ähnlichkeit mit der Instanzmethode hat, sind Konstruktoren dennoch nicht die Methode, da sie keinen expliziten Rückgabetyp haben. Jedes Mal, wenn ein Objekt im System erstellt wird, wird also ein Konstruktor aufgerufen, der ausgeführt werden soll. Wenn kein Konstruktor definiert ist, verwendet der Compiler einen Standardkonstruktor.
Hier ist eine einfache Präsentation von Constructor in Java:
1 2 3 4 5 6 | öffentliche Klasse MyClass { //Das ist der Konstruktor MeineKlasse (){ } .. } |
48. Was sind die verschiedenen Arten von Konstruktoren, die in Java verwendet werden?
In Java werden drei Arten von Konstruktoren verwendet:
- Standardkonstruktor: Wenn ein Entwickler keinen Konstruktor verwendet, fügt der Java-Compiler einen spezifischeren Standardkonstruktor hinzu, der in der .class-Datei vorhanden ist.
- No-Argument Constructor: In diesem Fall gibt es keine Argumente im Konstruktor und der Compiler akzeptiert keine Parameter, da die Methode der Instanzvariablen mit bestimmten festen Werten initialisiert wird.
- Parametrisierter Konstruktor: In diesem Fall sind ein oder mehrere Parameter im Konstruktor vorhanden, der nur in die Klammern des Hauptelements geschrieben wird.
49. Was sind die Unterschiede zwischen Konstruktoren und Methoden?
Die Hauptunterschiede in den Konstruktoren und Methoden sind:
- Zweck: Ziel des Konstruktors ist es, das Objekt einer Klasse zu initialisieren, während die Methode bestimmte Aufgaben bei der Codeausführung ausführt.
- Die Methode hat Rückgabetypen, während Konstruktoren dies nicht tun.
- In Methoden gibt es abstrakte, statische, endgültige und Synchronisierung, während Sie in Konstruktoren keine spezifischen Prozeduren erstellen können.
50. Erklären Sie die Bedeutung von lokaler Variable und Instanzvariable?
- Lokale Variablen sind in der Methode vorhanden, und der Gültigkeitsbereich existiert nur innerhalb der Methode.
- Instanzvariablen sind in der Klasse nur mit ihrem klassenübergreifenden Gültigkeitsbereich vorhanden und definiert.
51. Erklären Sie die Bedeutung von Klasse in Java?
In Java sind alle Codes, Variablen und Methoden in der Klasse definiert.
- Variablen stellen Attribute dar, die den Zustand einer bestimmten Klasse definieren.
- Methoden stellen dar, wo Geschäftslogik ihre Wirkung entfaltet. Methoden umfassen eine Reihe von Anweisungen und Anweisungen, um die Anforderungen zu erfüllen.
Hier ist ein einfaches Beispiel für eine Klasse in Java :
1 2 3 4 5 6 7 | public class Addition { //Deklaration des Klassennamens Ganzzahl x = 10 ; //Variable Aussage int y = 10 ; public void add (){ //Methodendeklaration int z = a + b ; } } |
52. Erklären Sie die Bedeutung von Object in Java?
Objekte werden nur als Instanz einer Klasse mit einem bestimmten Zustand und Verhalten definiert. Zum Beispiel ein Hund mit einem bestimmten Zustand von Name, Rasse und Farbe, während das Verhalten Bellen, Schwanzwedeln usw. umfasst. Jedes Mal, wenn JVM ein new()-Schlüsselwort liest, wird eine entsprechende Instanz erstellt. Ein Objekt muss zuerst deklariert, dann instanziiert und schließlich für die weitere Ausführung initialisiert werden.
53. Definieren Sie den Standardwert für den Byte-Datentyp in der Java-Sprache.
Für den Datentyp Byte ist der Standardwert 0.
54. Warum ist der Byte-Datentyp in Java vorteilhafter?
Da der Byte-Datentyp fast viermal kleiner als eine ganze Zahl ist, kann er mehr Platz für große Arrays speichern.
55. Erklären Sie die OOPs-Konzepte in Java.
OOPs sind die grundlegenden Konzepte der Programmiersprache Java. Dazu gehören Abstraktion, Polymorphismus, Vererbung und Kapselung. Java-OOPs-Konzepte befähigen Entwickler, Variablen, Methoden und Komponenten zu erstellen, die es ihnen außerdem ermöglichen, sie auf angepasste Weise wiederzuverwenden und gleichzeitig die Sicherheit zu wahren.
56. Erklären Sie die Bedeutung von Vererbung.
In Java ist Vererbung ein spezifischer Mechanismus, der es einer Klasse ermöglicht, die Eigenschaften (mit Feldern und Methoden) einer anderen Klasse zu erwerben. Vererbung ist eines der Grundkonzepte von Java OOPs.
Die Vererbung ermöglicht es, neue Klassen zu erstellen, weitere Felder und Methoden zu den vorhandenen Klassen hinzuzufügen, um sie auf beliebige Weise wiederzuverwenden.
- Eine Unterklasse ist diejenige, die die Eigenschaften der anderen Klasse erbt.
- Oberklasse ist diejenige, deren Eigenschaften vererbt werden.
57. Erklären Sie die Konzepte der Kapselung in Java?
Als eines der Hauptkonzepte von Java-OOPs ermöglicht Encapsulation das Verpacken von Daten und Code innerhalb einer einzigen Einheit. Kapselung wird auch als Datenverbergung bezeichnet, wobei Variablen einer bestimmten Klasse vor allen anderen Klassen verborgen und nur mit den Methoden der vorhandenen Klasse zugänglich sind.
Die beiden wesentlichen Dinge zum Erreichen der Kapselung in Java sind:
- Deklarieren der Variablen einer bestimmten Klasse als privat.
- Nutzung öffentlicher Setter- und Getter-Methoden zum Vornehmen von Änderungen und Anzeigen der Variablenwerte.
58. Erklären Sie die Konzepte des Polymorphismus.
Polymorphismus in Java ermöglicht es Entwicklern, eine einzelne Aufgabe auf mehrere Arten auszuführen. Es gibt zwei Arten von Polymorphismus in Java mit Laufzeit und Kompilierzeit. Sie können Methoden zum Überschreiben und Überladen verwenden, um Polymorphismus in Java zu betreiben.
59. Erklären Sie die Bedeutung von Schnittstelle.
In Java können wir keine Mehrfachvererbung erreichen. Hier spielt die Schnittstelle eine entscheidende Rolle bei der Überwindung dieses Problems, um eine Abstraktion zu erreichen, Mehrfachvererbungen zu unterstützen und auch eine lose Kopplung zu unterstützen. Jetzt haben wir eine standardmäßige, statische und private Methode in der Schnittstelle mit den neuesten Java-Updates.
60. Was ist mit abstrakter Klasse gemeint?
Abstrakte Klassen werden mit einem bestimmten abstrakten Schlüsselwort in Java erstellt. Sie repräsentieren sowohl abstrakte als auch nicht-abstrakte Methoden.
61. Erklären Sie die Abstraktionsklasse in Java?
Abstraktion ist eine der wesentlichen Eigenschaften, um die Implementierungsinformationen vor dem Benutzer zu verbergen und dann nur die Benutzerfunktionen darzustellen. For instance, when you send an SMS from one person to another person. The user gets to know only the message and number while the backend process remains hidden.
You can achieve abstraction in Java using the following two ways:
- Abstract Class (0 to 100%)
- Interface (100%)
62. Explain the difference between Abstraction and Encapsulation in Java.
Here are the main differences:
| Abstraktion | Verkapselung |
| Abstraction aims to gain information. | Encapsulation's main aim is to contain or procure information. |
| In the abstraction process, issues or problems are handled at the interface/ design level. | In Encapsulation, problems are handled at a specific implementation level. |
| Abstraction aids in hiding unwanted information. | Encapsulation method applies hiding data within a single unit. |
| Implemented with interfaces and abstract classes. | Implemented with a particular access modifier (public, private, and protected). |
| Use abstract classes and interfaces to hide complexities. | Use getters and setters to hide data. |
| Objects that extend to abstraction must be encapsulated. | An object for encapsulation must not be abstracted. |
63. Explain the differences between Abstract class and interface.

| Abstract Class | Schnittstelle |
| Abstract Class comes with a default constructor. | The interface doesn't have a constructor. So, no further process. |
| Uses both Abstract and Non-Abstract methods. | Only use Abstract methods. |
| Classes that must extend for Abstract class need only abstract methods throughout their sub-class. | Classes that extend to interface must provide implementation across all the methods. |
| These include instance variables. | The interface presents constants only. |
64. Explain the main differences between Array and Array List.
| Array | Array List |
| The size needs to be defined for the declaring array. String[] name = new String[5] | No size requirements; and modifies dynamically. ArrayList name = new ArrayList |
| You must specify an index for putting an object inside the array. name[1] = “dog” | There are no index requirements.
name.add(“dog”) |
| Arrays are not parameterised. | From Java 5.0 onwards, ArrayLists have a specific parameterised type. |
65. Explain the difference between static method and instance method.
| Static or Class Method | Instance Method |
| You must declare a method static for a static method. | All methods with declaration as static come under Instance method only. |
| No requirements for creating objects in the Static method. | The object is a must for calling the instance method. |
| You cannot access Instance or Non-static methods in the static context. | You can access both static and non-static in the instance method. |
66. How to make Constructors static?
Constructors invoked with the object, and static context is part of the class, not the object. Hence, constructors cannot be static and show compiler error if run or executed.
67. Explain the use of 'this' keyword in Java?
In Java, 'this' keyword represents a specific reference on the current object. There are multiple uses for this keyword for referring to the current class properties from a variable, constructors, methods, and more. You can also pass this as an argument within constructors or methods. You can also fetch this as a return value from the current class instance. You can also refer to this as a static context.
Lesen Sie auch: Java-Projekte codieren, kompilieren und ausführen
68. What is a classloader in Java? What are the different types of ClassLoaders in Java?
Java Classloader's main function is to dynamically load all classes into the Java Virtual Machine (JVM). ClassLoaders are part of the JRE only. So every time we run a Java program, classloader loads the classes to execute this program. A single ClassLoader loads only a specific class on requirements and uses getClassLoader() method to specify the class. These classes are loaded by calling their names, and in case these are not found then it retrieves or throws a ClassNotFoundException or NoClassDefFoundError.
Java ClassLoader uses three principles in performing tasks with delegation, uniqueness, and visibility.
There are three different types of Java ClassLoader:
- BootStrap ClassLoader:
BootStrap ClassLoader represents the parent or superclass for extension classloader and all other classloaders. It has machine code that loads the pure first Java ClassLoader and takes classes from the rt.jar and also known as Primordial ClassLoader.
- Extension ClassLoader:
Extension ClassLoader represents the child classloader for the superclass or BootStrap ClassLoader. It loads core java classes from jre/lib/ext , ie, JDK extension library.
- System ClassLoader:
Application or System ClassLoader are further child classes of Extension ClassLoader. It takes and loads a file from the current directory for the program that you can customise with the 'classpath' switch.
69. Explain the meaning of Java Applet.
Java Applet is a program that executes or runs in the web browser only. Applets are specifically designed to function and embed with HTML web pages. Applets have the capability to function full Java applications with the entire use of Java API. JVM is a must requirement to view an applet on the browser. Applet extends with the use of java.applet.Applet class.
70. What are the types of Applets?
Based on location, there are two types of Java applets as Local Applets that are stored on the same computer or system. The Remote Applets that have files on remote systems.
71 What are immutable objects in Java?
In Java sind unveränderliche Objekte diejenigen, deren Zustand sich nach ihrer Erstellung nicht ändert. Unveränderliche Objekte sind ideal für Multithread-Anwendungen, die eine gemeinsame Nutzung der Threads ermöglichen und gleichzeitig eine Synchronisierung vermeiden. Unveränderliche Objekte werden bevorzugt, um einfachen, soliden und zuverlässigen Code zu erstellen, der mit einer effektiven Strategie übereinstimmt.
72. Was meinen Sie mit JRE (Java Runtime Environment)?
Java Runtime Environment ist die Softwareschicht, die die Mindestanforderungen zum Ausführen von Java-Programmen auf einem Computer unterstützt. Zusammen mit JDK und JRE bilden diese drei die Grundlage für die Ausführung und Entwicklung von Java-Programmen auf einer bestimmten Maschine.
73. Wozu gehört ein JDK?
Das Java Development Kit (JDK) ist eines der wichtigsten Technologiepakete, die für die Ausführung von Java-Programmen unerlässlich sind. Es kann sich um die Implementierung einer beliebigen Java-Plattform, Standard Edition, Micro oder Enterprise Edition handeln, die von Oracle zum Erstellen von Anwendungen unter Windows, Linux oder macOS entwickelt wurde.
74. Was ist eine Java Virtual Machine (JVM)?
Java Virtual Machine (JVM) ist neben JDK und JRE eine der drei grundlegenden Voraussetzungen für das Ausführen und Ausführen von Java-Programmen. JVM hat zwei Hauptfunktionen; Erstens, um Java-Programme in die Lage zu versetzen, nahtlos auf jeder Maschine oder jedem System zu laufen, und zweitens, um den Speicher zu optimieren, um Leistung zu liefern.
75.Was sind die Unterschiede zwischen JDK, JRE und JVM?
JVM | JRE | JDK |
| Java virtuelle Maschine | Java-Laufzeitumgebung | Java Entwickler-Kit |
| Plattformabhängig mit mehreren verfügbaren Software- und Hardwareoptionen. | Softwareschicht, die die Mindestanforderungen zum Ausführen von Java-Programmen auf einer Maschine unterstützt. | Standard Edition Enterprise Edition Micro-Edition |
Drei Begriffe wie:
| Satz von Bibliotheken + Dateien, die JVM zur Laufzeit unterstützen. | JRE + Entwicklungstools |
| Stellt Laufzeitumgebung für die Ausführung bereit. | JRE repräsentiert die Implementierung von JVM. | Softwareentwicklungsumgebung. |
76. Wie viele Arten von Speicherbereichen gibt es in JVM?
Es gibt mehrere Arten von Speicherbereichen in JVM:
- Klassenbereich: Dieser Speicher speichert Vorklassenstrukturen mit Feld, Pool, Methodendaten und Code.
- Heap steht für speziell den Objekten zugewiesenen Laufzeitspeicher.
- Stack repräsentiert den Speicher des Frames mit einer lokalen Variablen, Teilergebnissen, einem Thread und einem Frame für jede Methode.
- Das Programmzählerregister speichert die Informationen für den aktuellen Befehl bei der Ausführung der Java Virtual Machine.
- Der native Methodenstapel speichert alle aktuellen nativen Methoden, die in den aktuellen Anwendungen verwendet werden.
77. Was ist Datenbindung in Java?
Die Datenbindung stellt die Verbindungen zwischen Klasse und Methode, Feld, Variable, Konstruktoren oder einem Methodenrumpf dar. Java kann die Datenbindung sowohl statisch als auch dynamisch handhaben.
78. Was sind die verschiedenen Arten der Datenbindung in Java?
Es gibt zwei entscheidende Arten der Datenbindung in Java.
- Die statische Bindung erfolgt zur Kompilierzeit mit statischen, finalen und privaten Methoden. auch als frühe Bindung bekannt.
- Dynamic Binding präsentiert sich zur Laufzeit, ohne dass genaue Informationen über die richtige Methode während der Kompilierzeit bekannt sind.
79. Was ist ein Java-Socket?
Sockets helfen beim Aufbau von Kommunikationsmechanismen zwischen den beiden Computern über TCP. Steckdosen sind idealerweise ausreichender und flexibler für die Kommunikation.
80. Erklären Sie den Unterschied zwischen Pfad und Klassenpfad.
Sowohl path als auch Classpath repräsentieren lokale Umgebungsvariablen. Der Pfad stellt die Software bereit, um die ausführbaren Dateien zu finden, während ClassPath den Speicherort für .class-Dateien im System angibt.
81. Gibt es eine abstrakte Methode ohne die Verwendung einer abstrakten Klasse?
Nein, damit eine abstrakte Methode in einer Klasse existiert, muss es eine abstrakte Klasse sein.
82. Wie wird in Java eine schreibgeschützte Klasse erstellt?
In Java können Sie eine schreibgeschützte Klasse erstellen, indem Sie alle Felder privat halten. Diese spezielle schreibgeschützte Klasse hat nur Getter-Methoden, die privates Eigentum zurückgeben. Es ist nicht möglich, diese Eigenschaft zu ändern oder zu ändern, da keine Setter-Methode verfügbar ist.
1 2 3 4 5 6 7 8 9 | //Eine schreibgeschützte Klasse in Java öffentliche Klasse Student { //privates Datenmitglied privates String-Institut = "MKG" ; //Getter-Methode für das Institut öffentlicher String getInstitute (){ Rückgabeinstitut ; } } |
83. Wie wird in Java eine Nur-Schreiben-Klasse erstellt?
In Java können Sie auch eine Nur-Schreiben-Klasse erstellen, indem Sie alle Felder nur mit der Implementierung von Setter-Methoden privat halten.
1 2 3 4 5 6 7 8 9 | // Eine Nur-Schreiben-Klasse in Java öffentliche Klasse Student { //privates Datenmitglied privates Saiteninstitut ; // Setter-Methode für das Institut public void setInstitute ( Zeichenketteninstitut ){ dies . Institut = Institut ; } } |
84. Erklären Sie, wie Sie in Java auf eine Klasse in einer anderen Klasse zugreifen?
In Java gibt es zwei Möglichkeiten, auf eine Klasse in einer anderen Klasse zuzugreifen:
- Verwenden des spezifischen Namens: Wir können auf eine bestimmte Klasse aus einem anderen Paket zugreifen, indem wir den qualifizierten Namen verwenden oder das Paket importieren, das eine bestimmte Klasse enthält.
- Verwenden des relativen Pfads: In ähnlicher Weise können wir auch den relativen Pfad für dieses Paket mit einer bestimmten Klasse verwenden.
85. Was ist Ausnahmebehandlung?
Die Ausnahmebehandlung stellt den Mechanismus zum Behandeln der Ausnahme oder abnormaler Bedingungen während der Laufzeitfehler dar, um den normalen Fluss der Anwendung aufrechtzuerhalten. Es gibt drei verschiedene Arten von Java-Ausnahmen: geprüfte Ausnahme, ungeprüfte Ausnahme und Fehler.
86. Erklären Sie den Unterschied zwischen geprüfter Ausnahme und ungeprüfter Ausnahme.
- Geprüfte Ausnahmen sind Klassen, die Throwable-Klassen mit Ausnahme von RuntimeException wie SQLException, IOException usw. weiter erweitern. Geprüfte Ausnahmen werden nur während der Kompilierzeit behandelt.
- Ungeprüfte Ausnahmen sind Klassen, die RuntimeException erweitern, wie NullPointerException, ArithmeticException usw., und werden während der Kompilierzeit nicht behandelt.
87. Welches ist die Basisklasse für Exception und Error?
Hier repräsentiert die Throwable-Klasse die Basisklasse für Exception und Error.
88. Erwähnen Sie das Schlüsselwort Ausnahmebehandlung in Java.
Es gibt fünf Schlüsselwörter für die Behandlung von Ausnahmen in Java :
| Stichwort | Beschreibung |
| Versuchen | Dieser Try-Block definiert den Block zum Platzieren des Ausführungscodes. Auf diesen try-Block folgt im Allgemeinen die Verwendung von entweder catch oder finally. Sie können also nicht alleine verwendet werden. |
| fangen | Das Hauptziel des Catch-Blocks ist die Behandlung der Ausnahme. Sie müssen dies in Kombination mit dem try-Block und dann schließlich in der späteren Phase verwenden. |
| endlich | Schließlich überprüft block den wichtigen Code des Programms, das prüft, ob die Ausführung erfolgt ist oder nicht. |
| Wurf | Das Hauptziel des throw-Schlüsselworts besteht darin, eine Ausnahme vom Programm auszulösen. |
| wirft | Das throws-Schlüsselwort wird hauptsächlich zum Deklarieren von Ausnahmen und nicht zum Auslösen einer Ausnahme verwendet. Es stellt Informationen über das Auftreten von Ausnahmen bereit und wird mit einer Methodensignatur angewendet. |
89. Erklären Sie die Bedeutung des finally-Blocks.
Hier hat der finally-Block eine entscheidende Bedeutung für den reibungslosen Ablauf des Programms. Es wird immer ausgeführt, unabhängig davon, ob die Ausnahme behandelt wird oder nicht. Schließlich kommt der Block nach dem Try- oder Catch-Block. In der JVM führt das System immer den finally-Block aus, bevor eine Datei beendet oder geschlossen wird. Für jeden vorhandenen try-Block kann es null oder mehrere catch-Blöcke geben, aber es kann immer noch nur einen finally-Block geben.
90. Ist das Ausführen eines finally-Blocks ohne einen catch-Block möglich?
Ja, ein finally-Block kann ausgeführt werden, gefolgt von einem try- oder catch-Block.
91. Gibt es Fälle für nicht vorhandene Final Blocks?
Schließlich wird der Block nicht ausgeführt oder ausgeführt, falls das Programm bereits vorhanden ist, oder es kommt zu einem schwerwiegenden Fehler zum Abbrechen des Prozesses.
92. Erklären Sie die Hauptunterschiede zwischen Wurf und Würfen.
Schlüsselwort werfen | wirft Schlüsselwort |
| Es wirft eine Ausnahme. | Es erklärt eine Ausnahme. |
| Geprüfte Ausnahmen können nicht nur mit throw propagiert werden. | Geprüfte Ausnahmen können mit Throws weitergegeben werden. |
| Es folgt eine Instanz. | Es folgt eine Klasse. |
| Es wird nur in der Methode verwendet. | Es wird mit einer bestimmten Methodensignatur verwendet. |
| Mehrfachausnahmen sind nicht möglich. | Während in diesem Verfahren mehrere Ausnahmen deklariert werden können. |
93. Gibt es die Möglichkeit, dass eine Ausnahme erneut ausgelöst wird?
Ja, wenn eine Ausnahme vorhanden ist, kann sie erneut ausgelöst werden.
94. Erklären Sie die Ausnahmeweitergabe.
Der Ablauf einer Ausnahme innerhalb der Behandlungsprozedur wird als Ausnahmeweitergabe bezeichnet. Beispielsweise wird eine Ausnahme zuerst oben im Stapel behandelt, und wenn sie nicht abgefangen wird, fällt die Ausnahme auf die vorherige Methode, und wenn nicht, geht sie weiter nach unten, bis entweder die Ausnahme abgefangen wird oder sie das Ende erreicht des Stapels. Geprüfte Ausnahmen haben standardmäßig keine Weitergabe.
95. Erklären Sie die Bedeutung von Thread in Java.
In Java wird die Art oder der Ablauf der Ausführung als Thread bezeichnet. Jedes Programm enthält also einen Thread, der als Haupt-Thread bezeichnet wird, der von der JVM erstellt wird. Entwickler können ihre benutzerdefinierten Threads definieren, indem sie die Thread-Klasse mithilfe der Schnittstelle hinzufügen und erweitern.
96. Erklären Sie die Bedeutung des Thread-Pools.
Der Java-Thread-Pool ist eine Gruppe mehrerer Threads, die ständig auf zugewiesene Aufgaben warten. Hier arbeiten Thread-Pools unter dem Dienstanbieter, der einen Thread aus diesem Pool zieht und ihm dann die Aufgabe für einen bestimmten Job zuweist. Der Thread-Pool fügt dem System mehr Leistung und Stabilität hinzu.
97. Erklären Sie den Unterschied zwischen String und StringBuffer.
Schnur | Zeichenfolgenpuffer |
| Die String-Klasse ist von Natur aus unveränderlich. | Die Klasse StringBuffer hingegen ist änderbar. |
| Saiten sind langsam. | Ansonsten ist StringBuffer recht schnell. |
| Diese verbrauchen mehr Speicher zum Erstellen einer neuen Instanz. | Diese verbrauchen weniger Speicher mit Concat-Strings. |
| Strings ermöglichen den Vergleich ihres Inhalts, da sie die Methode equals() der Klasse Object überschreiben. | Wohingegen die Klasse StringBuffer die Methode equals() der Klasse Object nicht überschreiben kann. |
98. Erklären Sie den Unterschied zwischen StringBuffer und StringBuilder.
Zeichenfolgenpuffer | StringBuilder |
| Es wird mit Sicherheit auf Threads synchronisiert. | Es ist nicht synchronisiert und hat keine Sicherheit für Threads. |
| Dabei haben zwei Threads keine Call-Methode. | Dabei können zwei Threads Aufrufmethoden nahtlos haben. |
| Niedriger oder weniger effizient als StringBuilder. | Effizienter als StringBuffer. |
99. Wie erstellt man eine unveränderliche Klasse in Java?
In Java können Sie eine unveränderliche Klasse erstellen, indem Sie eine finale Klasse mit all ihren Mitgliedern als final deklarieren. Nehmen wir ein Beispiel, um dies zu verstehen:
1 2 3 4 5 6 7 8 9 10 11 12 | öffentliche Abschlussklasse Mitarbeiter { _ final String Sicherheitsnummer ; öffentlicher Angestellter ( String securityNumber ){ dies . Sicherheitsnummer = Sicherheitsnummer ; } öffentlicher String getSecurityNumber (){ Sicherheitsnummer zurückgeben ; } } |
99. Was sind innere Klassen?
Java Inner-Klassen werden innerhalb einer Schnittstelle oder Klasse definiert und deklariert. Innere Klassen ermöglichen es dem System, Klassen und Schnittstellen logisch zu gruppieren, wodurch sie sowohl lesbarer als auch einfacher zu warten sind. Darüber hinaus können diese Klassen auf alle Mitglieder der äußeren Klasse mit Methoden sowie auf private Datenmitglieder zugreifen.
100. Was sind die wichtigsten Vor- und Nachteile der Verwendung von Java Inner-Klassen?
Zu den Hauptvorteilen für innere Java-Klassen gehören:
- Zugänglichkeit für alle Mitglieder aus den äußeren Klassen.
- Weniger Code zu schreiben.
- Mehr Wartung und lesbarer Code.
Zu den Hauptnachteilen von inneren Java-Klassen gehören:
- Weniger Unterstützung von der IDE.
- Eine hohe Anzahl von Gesamtklassen.
101. Definieren Sie die Typen innerer Klassen in der Programmiersprache Java?
Innere Klassen haben drei Haupttypen:
- Member Innere Klasse, die eine Klasse innerhalb der Klasse mit der Methode outside angibt.
- Anonymous Inner Class zur Erweiterung der Klasse oder Angabe der Implementierung einer Schnittstelle.
- Lokale innere Klasse, um eine Klasse innerhalb der Methode zu erstellen.
102. Definieren Sie eine verschachtelte Klasse.
Verschachtelte Klassen werden nur innerhalb einer Klasse oder Schnittstelle definiert oder deklariert. Eine verschachtelte Klasse kann gezielt auf alle Member der äußeren Klasse mit Methoden und auch auf private Datenmember zugreifen. Hier ist eine einfache Syntax einer verschachtelten Klasse:
1 2 3 4 5 6 | Klasse Java_Outer_class { //Code Klasse Java_Nested_class { //Code } } |
103. Können Sie den Unterschied zwischen inneren Klassen und verschachtelten Klassen erklären?
Alle inneren Klassen sind als nicht statische verschachtelte Klassen definiert. Daher sind innere Klassen nur Teil der verschachtelten Klassen.
104. Wie würden Sie die Bedeutung von Sammlungen in Java definieren?
Sammlungen in Java sind eine Gruppe mehrerer Objekte, die als eine Einheit dargestellt werden; hauptsächlich als Sammlungen der Objekte bekannt. Sie werden auch als Collection Framework oder Architektur bezeichnet, die Speicherplatz für Objekte bereitstellt und das Design weiter manipuliert, um Änderungen vorzunehmen.
Hier sind die Hauptfunktionen, die von den Java-Sammlungen ausgeführt werden:
- Sortierung
- Suchen
- Einfügen
- Manipulation
- Streichung
Es gibt viele Schnittstellen und Klassen, die Teil der Sammlungen sind.
105. Welche Schnittstellen und Klassen sind in den Sammlungen verfügbar?
Hier ist die Liste der Schnittstellen und Klassen, die mit den Sammlungen in Java verfügbar sind.
- Schnittstellen: Sammlung, Warteschlange, sortierter Satz, sortierte Karte, Liste, Satz, Karte
- Klassen: Listen, Vektor, Array-Liste, verkettete Liste
- Sets: Hash-Set, Tree-Set, Linked-Hash-Set
- Karten: Hash-Karte, Hash-Tabelle, TreeMap, verknüpfte Hash-Karte
- Warteschlange: Prioritätswarteschlange
106. Erklären Sie sortiert und geordnet in Bezug auf Sammlungen in Java?
- Sortiert: Das Sortieren ermöglicht es, die Gruppe von Objekten intern oder extern anzuwenden, um sie in einer bestimmten Sammlung zu sortieren, basierend auf ihren unterschiedlichen Eigenschaften.
- Geordnet: Definiert die Werte, die auf der Grundlage der in der Sammlung hinzugefügten Werte sortiert werden, und iteriert sie in einer bestimmten Reihenfolge.
107. Welche verschiedenen Listen sind in der Sammlung verfügbar?
Listet Speicherwerte basierend auf ihrer Indexposition auf, wobei die Duplizierung zulässig ist. Hier sind die wichtigsten Arten von Listen:
Array-Listen: Verwendet die Direktzugriffsschnittstelle, bietet eine Auftragserfassung nach Index, nicht sortiert, und bietet eine schnelle Iteration. Hier ist ein Beispiel, um dies zu verstehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 | öffentliche Klasse Früchte { public static void main ( String [ ] args ){ ArrayList < String > Namen = neue ArrayList < String > (); Namen . hinzufügen ( „ Apfel “ ); Namen . hinzufügen ( „ Avocado “ ); Namen . hinzufügen ( „ Kirsche “ ); Namen . hinzufügen ( „ Kiwi “ ); Namen . hinzufügen ( „ Orangen “ ); Namen . hinzufügen ( „ Banane “ ); Namen . hinzufügen ( „ Kiwi “ ); System . aus . println ( Namen ); } } |
Die Ausgabe ist wie folgt:
| [Apfel, Avocado, Kirsche, Kiwi, Orangen, Banane, Kiwi] |
Mit der Ausgabe können Sie überprüfen, ob die Array-Liste die ursprüngliche Einfügungsreihenfolge beibehält und auch Duplikate zulässt. Obwohl nicht sortiert.
Vector: verwendet ebenfalls das Random-Access-Verfahren, ist synchronisiert und bietet Unterstützung für Thread-Sicherheit.
Lassen Sie uns dies anhand eines Beispiels verstehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 | öffentliche Klasse Früchte { public static void main ( String [ ] args ){ ArrayList < String > Namen = neuer Vektor < String > (); Namen . hinzufügen ( „ Kiwi “ ); Namen . hinzufügen ( „ Orangen “ ); Namen . hinzufügen ( „ Banane “ ); Namen . hinzufügen ( „ Apfel “ ); Namen . hinzufügen ( „ Avocado “ ); Namen . hinzufügen ( „ Kirsche “ ); Namen . hinzufügen ( „ Kiwi “ ); System . aus . println ( Namen ); } } |
Die Ausgabe ist wie folgt:
| [Kiwi, Orangen, Banane, Apfel, Avocado, Kirsche, Kiwi] |
Vektorlisten folgen der ursprünglichen Einfügungsreihenfolge und unterstützen auch die Duplikate.
Verknüpfte Liste: Es ist auch eine ideale Wahl zum Löschen und Einfügen, Elemente sind doppelt verknüpft, aber langsam in der Leistung.
Beispiel für verkettete Liste:
1 2 3 4 5 6 7 8 9 10 11 12 13 | öffentliche Klasse Früchte { public static void main ( String [ ] args ){ ArrayList < String > Namen = neuer Vektor < String > (); Namen . hinzufügen ( „ Kiwi “ ); Namen . hinzufügen ( „ Orangen “ ); Namen . hinzufügen ( „ Banane “ ); Namen . hinzufügen ( „ Apfel “ ); Namen . hinzufügen ( „ Avocado “ ); Namen . hinzufügen ( „ Kirsche “ ); Namen . hinzufügen ( „ Kiwi “ ); System . aus . println ( Namen ); } } |
Die Ausgabe ist wie folgt:
| [Apfel, Avocado, Kirsche, Kiwi, Orangen, Banane, Kiwi] |
Es folgt auch der ursprünglichen Insertionsreihenfolge und akzeptiert Duplikate.
108. Was sind die Hauptunterschiede zwischen Collection und Collections in Java?
Die Hauptunterschiede sind wie folgt:
- Die Collection stellt eine Schnittstelle dar, während Collections insbesondere nur eine Klasse ist.
- Die Sammlungsschnittstelle bietet mehrere Funktionalitäten zum Strukturieren von Daten als Liste, Set und Warteschlange. Während das Hauptziel der Sammlungsklasse darauf beschränkt ist, die Elemente der Sammlung zu sortieren und zu synchronisieren.
109. Erklären Sie die Prioritätswarteschlange.
Priority Queue definiert die Warteschlangenschnittstelle zum Handhaben von verknüpften Listen mit dem Zweck eines Priority-in und Priority-out. Die Warteschlange folgt im Allgemeinen einem First-in-First-out-Algorithmus (FIFO), dennoch können Sie Elemente basierend auf bestimmten Anforderungen in die Warteschlange stellen, und dann können wir PriorityQueue zur Anpassung implementieren. Bei Priority Queue hängt es vom Priority Heap entweder natürlich oder über den Komparator von ihrer relativen Priorität ab.
110. Wann ist es ideal, die Runnable-Schnittstelle in Java zu verwenden und zu vergleichen?
Wenn wir eine Klasse mit einigen anderen Klassen und nicht mit den Threads erweitern müssen, sind lauffähige Schnittstellen eine ideale Wahl.
111. Was ist der Unterschied zwischen der start()- und der run()-Methode der Thread-Klasse?
Die Methode start() fügt hinzu und erstellt einen neuen Thread. Und Code in der Methode run() wird nur im neuen Thread ausgeführt. Während die Methode run() nur Code im aktuellen Thread ausführt.
112. Was ist Multithreading?
In Java können wir mehrere Threads gleichzeitig ausführen, was als Multithreading bekannt ist. Es hilft dem Programm beim Multitasking, nimmt weniger Speicher in Anspruch und bietet eine höhere Leistung. Beim Multithreading sind Threads leichtgewichtig, teilen sich den gleichen Speicherplatz und sind in jeder Hinsicht recht erschwinglich.
113. Erklären Sie den Unterschied zwischen Prozess und Threads.
Hier sind die Hauptunterschiede:
- Ein ausgeführtes Java-Programm wird als Prozess bezeichnet, während ein Thread nur eine Teilmenge des Prozesses darstellt.
- Prozesse stellen unterschiedliche Bereiche im Speicher dar, während Threads dieselbe Adresse haben.
- Prozesse sind völlig unabhängig, während Threads nur Teil des Prozesses sind.
- Langsame Kommunikation zwischen Prozessen, während die Kommunikation zwischen Threads schnell ist.
114. Erklären Sie die Bedeutung der Inter-Thread-Kommunikation.
Inter-Thread-Kommunikation ist als der Prozess definiert, der die Kommunikation zwischen mehreren synchronisierten Threads ermöglicht. Sein Hauptziel ist es, Thread-Pooling in Java zu vermeiden. Die Kommunikation erfolgt über die Methoden wait(), Notify() und NotifyAll().
115. Erklären Sie die Methode wait().
Mit der Methode wait() können Sie zulassen, dass sich der Thread in der Wartephase befindet, während der andere Thread für das Objekt gesperrt ist. Daher kann die Methode wait() die Wartezeit für Threads erheblich verlängern.
Hier ist eine Syntax, um dies darzustellen:
1 2 3 4 5 6 | public static void main ( String [] args ) { Faden t = neuer Faden (); t . starten (); Synchronisiert ( t ) { Warte (); } |
116. Was ist der Hauptunterschied zwischen den Methoden "notify()" und "notifyAll()" in Java?
Die Methode „notify()“ sendet ein Signal, um nur einen bestimmten Thread im Wartepool aufzuwecken, während „notifyAll()“ alle Threads in der Wartephase des Pools aufweckt.
117. Definieren Sie die Hauptunterschiede zwischen sleep() und wait().
Sleep() pausiert oder stoppt den aktuellen Thread-Fortschritt, indem die Ausführung für eine bestimmte Dauer ausgesetzt wird, ohne die Sperre freizugeben. While wait() verursacht eine Wartezeit für einen Thread nach dem Aufrufen einer Notify()-Methode zum späteren Aufwecken.
118. Erklären Sie die Methode join() in Bezug auf den Thread in Java.
Die Methode join() ermöglicht das Kombinieren eines Threads mit einem der kontinuierlichen Threads. Hier ist eine Syntax für die Methode join():
1 2 3 4 5 | public static void main ( String [] args ) { Faden t = neuer Faden (); t . starten (); t . beitreten (); } |
119. Erklären Sie die Yield-Methode von Thread.
Yield-Methode ist eine statische Methode und löst keine Sperre in den Threads. Hier macht eine Yield()-Methode den aktuellen Thread zu einem besser lauffähigen Thread, während die anderen Threads die Ausführung beibehalten können. Somit können Threads mit gleicher Thread-Priorität regelmäßig ausgeführt werden.
120. Was ist das Hungerstadium?
Starvation ist eine Phase, in der ein Thread keinen Zugriff auf gemeinsam genutzte Ressourcen erhält und keinen Fortschritt erzielen kann.
121. Was ist Deadlock für einen Thread?
Deadlock definiert eine Phase, in der zwei oder mehrere Threads für immer aufeinander warten.
122. Serialisierung und Deserialisierung in Java definieren?
Serialisierung ist der Prozess zum Umwandeln des Zustands eines Objekts in einen bestimmten Bytestrom, der ideal für JPA-, JMS-, RMI-, JPA- und Hibernate-Technologien geeignet ist. Während der umgekehrte Prozess der Umwandlung eines Bytestroms in ein Objekt als Deserialisierung bezeichnet wird. Beide Prozesse sind plattformunabhängig, sodass Sie effizient auf einer Plattform serialisieren und auf einer völlig anderen Plattform deserialisieren können.
123. Welche Bedeutung haben transiente Variablen?
Die Bedeutung von transienten Variablen liegt in der Deserialisierung, die auf die Standardvariablen gesetzt und nicht mit den statischen Variablen verwendet wird.
124. Was sind flüchtige Variablen?
Flüchtige Variablen spielen eine entscheidende Rolle beim Synchronisieren und Lesen aus dem Hauptspeicher unter Umgehung des Thread-Cache-Speichers.
125. Was ist SerialVersionUID?
Beim Serialisierungsprozess wird ein Objekt mit einer spezifischen Versions-ID-Nummer für die jeweilige Objektklasse gestempelt. Diese Nummer wird als SerialVersionUID bezeichnet und spielt eine entscheidende Rolle bei der Verifizierung während des Deserialisierungsprozesses zur Überprüfung der Kompatibilität auf Sender bzw. Empfänger.
126. Was ist der Prozess zum Klonen eines Objekts in Java?
Mit dem Klonen von Objekten können Sie eine exakte Kopie des ursprünglichen Objekts erstellen. Damit das Klonen möglich ist, muss eine Klasse das Klonen mit der java.lang.Cloneable-Schnittstelle unterstützen und das Überschreiben der clone()-Methode von der ursprünglichen Objektklasse zulassen.
Hier eine einfache Syntax für die Methode clone():
| protected Object clone() löst CloneNotSupportedException aus |
Falls der Klon dies nicht implementiert, löst er im Allgemeinen eine Ausnahme mit der 'CloneNotSupportedException' aus.
127. Definieren Sie die Klasse, die Oberklasse für jede Klasse bleibt?
Objektklasse.
128. Definieren Sie, ob eine String-Klasse veränderlich oder unveränderlich ist?
Die String-Klasse repräsentiert einen unveränderlichen Zustand. Ein einmal erstelltes Objekt kann sich also nicht mehr ändern.
129. Wie unterscheiden Sie zwischen der StringBuffer- und der StringBuilder-Klasse?
- StringBuilder ist schneller als der StringBuffer.
- StringBuffer wird synchronisiert, während StringBuilder nicht synchronisiert wird.
- StringBuffer bietet eine Thread-sichere Umgebung, während StringBuilder keine Thread-sichere Fähigkeit hat.
130. Wozu dient die Methode toString() in Java?
In Java ruft toString() die Zeichenfolgendarstellung von jedem Objekt ab oder gibt sie zurück.
131. Was ist eine Garbage Collection in Java?
Da Objekte über den Operator dynamisch zugewiesen werden, übernimmt das Java-System auch automatisch die Freigabe des verwendeten Speichers, falls es keine Referenzen für das Objekt gibt, das für eine signifikante Dauer verbleibt. Dieser Prozess, das System von Objekten freizuhalten, die keine Verwendung haben, wird in Java als Garbage Collection bezeichnet. Das Hauptziel der Garbage-Collection ist eine speichereffizientere Verwaltung.
132. Wie oft ruft ein Garbage Collector die Methode finalize() für ein bestimmtes Objekt auf?
Sie können die Methode finalize() in der Garbage Collection nur einmal aufrufen.
133. Definieren Sie die Methoden zum Aufrufen der Garbage Collection.
Es gibt zwei Möglichkeiten, die Garbage Collection aufzurufen:
- System.gc()
- Runtime.getRuntime().gc()
134. Können wir die Garbage Collection erzwingen?
Nein, dies ist ein automatischer Vorgang. Sie können die Garbage-Collection-Methode aufrufen, aber nicht erzwingen. Dennoch garantiert es nicht, dass es vollständig wäre.
135. Was sind die verschiedenen Datentypen in Java? Erklären.
Hier ist eine Auswahlliste, die Ihnen bei Datentypen helfen soll:
- Byte – 8 Bit
- kurz – 16 Bit
- Zeichen – 16-Bit-Unicode
- int – 32 Bit (Ganzzahl)
- Float – 32 Bit (reelle Zahl)
- lang – 64 Bit (einfache Genauigkeit)
- doppelt – 64 Bit (doppelte Genauigkeit)
136. Definieren Sie den Unicode.
Unicodes sind eine Möglichkeit, internationale Zeichen in menschlichen Sprachen zu definieren, und Java verwendet diese Unicode-Struktur, um die Zeichen zu symbolisieren.
137. Literal definieren.
Ein Literal ist ein konstanter Wert, der einer bestimmten Variablen zugewiesen wird
| // Hier ist 105 ein Literal int Zahl = 105 |
138. Definieren Sie die Art des Castings in Java?

Im Fall der Zuweisung eines Werts eines Datentyps zu einem anderen Datentyp können diese beiden kompatibel sein oder nicht und müssen konvertiert werden. Bei kompatiblen Datentypen konvertiert Java automatisch. Wenn die Datentypen nicht kompatibel sind, müssen diese für eine erfolgreiche Konvertierung gecastet werden. Casting hat zwei Grundtypen: Implizit und Explizit.
139. Erklären Sie die zwei verschiedenen Arten der Typisierung?
- Implizit: Definiert das Speichern von Werten aus kleineren Datentypen in größere Datentypen, das nur vom Compiler durchgeführt wird.
- Explizit: Definiert das Speichern von Werten aus größeren Datentypen in kleineren Datentypen, was zu Informationsverlust führen kann.
Fazit
Die obigen Java-Interviewfragen bieten einen guten Start für die Vorbereitung auf das Interview. Üben Sie jedoch auch Ihre Programmierfähigkeiten und stellen Sie sicher, dass Sie diese Fragen und die damit verbundenen Konzepte gründlich beantworten, damit Sie bereit sind, die Runde mit Ihrem A zu gewinnen, wenn der Interviewer ein Q abfeuert. Oh, und vergessen Sie nicht 3 (unauffällige) Atemzüge, wenn Sie sich vor dem Interviewer präsentieren.
Wenn Sie mehr über Java und Full-Stack-Softwareentwicklung erfahren möchten, schauen Sie sich das Executive PG-Programm in Softwareentwicklung von upGrad & IIIT-B an – Spezialisierung auf Full-Stack-Entwicklung, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen bietet , 9+ Projekte und Aufgaben, IIIT-B-Alumni-Status, praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.
Alles Gute! Ich hoffe, Sie knacken Ihre Interviews !!
