Heim Java JavaInterview Fragen Sammlung klassischer Java-Interviewfragen (4)

Sammlung klassischer Java-Interviewfragen (4)

Jul 09, 2020 pm 04:28 PM
java 面试题

Sammlung klassischer Java-Interviewfragen (4)

1. Anwendungsszenarien des Reflexionsmechanismus

(empfohlene verwandte Tutorials: Java-Interviewfragen)

  1. Umgekehrter Code, z. B. Dekompilierung

  2. Ein Framework kombiniert mit Anmerkungen wie Retrofit

  3. Reine Reflexionsmechanismusanwendung Frameworks wie EventBus 2.x

  4. Dynamische Generierung von Klassen-Frameworks wie Gson

2. Was ist Multithreading?

Multithreading bezieht sich auf die Technologie, die die gleichzeitige Ausführung mehrerer Threads von Software oder Hardware realisiert. In einem Programm werden diese unabhängig voneinander ablaufenden Programmfragmente „Threads“ genannt, und das Konzept der Programmierung mit ihnen wird „Multi-Threading“ genannt.

Computer mit Multithreading-Fähigkeiten können aufgrund der Hardwareunterstützung mehr als einen Thread gleichzeitig ausführen und dadurch die Gesamtverarbeitungsleistung verbessern.

Sammlung klassischer Java-Interviewfragen (4)

Der Hauptthread ist der erste Thread, der im Erstellungsprozess generiert wird. Dies ist der Thread, der der Hauptfunktion entspricht.

(Empfohlenes Lernen: Java-Einführungsprogramm)

3. Erzählen Sie mir etwas über die Vorteile von Multithreading?

1. Vorteile von Multithreading

  • Die Kosten für die Erstellung eines neuen Threads sind viel geringer als für die Erstellung eines neuen Prozesses

  • Das Wechseln zwischen Threads erfordert vom Betriebssystem im Vergleich zum Wechseln zwischen Prozessen nur sehr wenig Arbeit

  • Threads beanspruchen viel weniger Ressourcen als Prozesse

  • Kann die parallele Anzahl von Multiprozessoren voll ausnutzen

  • Nachdem das Programm auf das Ende des langsamen E/A-Vorgangs gewartet hat, kann es andere Rechenaufgaben ausführen

  • Computing (CPU)-intensive Anwendungen: Um auf Multiprozessorsystemen ausgeführt zu werden, wird die Berechnung in mehrere Threads unterteilt, um

  • IO-intensive Anwendungen zu implementieren Um die Leistung zu verbessern, überlappen sich E/A-Vorgänge und Threads können auf verschiedene E/A-Vorgänge warten.

2. Nachteile von Multithreading

  • Leistungsverlust (ein rechenintensiver Thread wird selten durch externe Ereignisse blockiert und kann nicht mit anderen kommunizieren Threads teilen sich denselben Prozessor. Wenn die Anzahl der rechenintensiven Threads größer ist als die verfügbaren Prozessoren, kann es zu einem großen Leistungsverlust kommen, der auf den zusätzlichen Synchronisierungs- und Planungsaufwand zurückzuführen ist.)

  • Reduzierte Robustheit (es besteht ein Mangel an Schutz zwischen Threads. In einem Multithread-Programm aufgrund des geringfügigen Unterschieds in der Zeitzuweisung oder der gemeinsamen Nutzung einiger Die möglichen Auswirkungen negativer Auswirkungen auf Variablen das geteilt werden sollte, ist groß)

  • Fehlende Zugriffskontrolle (da Prozesse die grundlegende Granularität der Zugriffskontrolle darstellen und bestimmte Betriebssysteme in einem Thread aufrufen. Funktionen wirken sich auf den gesamten Prozess aus)

  • Der Programmierschwierigkeitsgrad nimmt zu (das Schreiben und Debuggen eines Multithread-Programms ist viel schwieriger als ein Single-Thread-Programm.)

4 . Was ist der Unterschied zwischen Threads und Prozessen?

1. Planung

Ein Prozess ist eine Grundeinheit für das Betriebssystem, um Ressourcen zuzuweisen. Threads sind die Grundeinheit der CPU-Planung.

2. Parallelität

Nach der Einführung von Threads können nicht nur Prozesse gleichzeitig ausgeführt werden, sondern auch mehrere Threads in einem Prozess können gleichzeitig ausgeführt werden, sodass sogar alle Prozesse im Prozess ausgeführt werden können gleichzeitig.

In ähnlicher Weise können Threads in verschiedenen Prozessen auch gleichzeitig ausgeführt werden. Dies ermöglicht dem Betriebssystem eine bessere Parallelität und verbessert die Ressourcennutzung und den Systemdurchsatz.

3. Ressourcen besitzen

Ein Prozess kann Ressourcen besitzen und ist die Grundeinheit für den Besitz von Ressourcen durch das System. Der Thread selbst besitzt keine Systemressourcen, sondern nur einige Ressourcen, die einen unabhängigen Betrieb gewährleisten können. Diese Ressource ist für jeden Thread privat.

Zum Beispiel Thread-ID, eine Reihe von Registern, Stapel, Fehlernummer, Signalmaskenwort (es gibt nur ein ausstehendes Signal in einem Prozess, aber jeder Thread kann dieses Signal verarbeiten), Planungspriorität.

4. Unabhängigkeit

Die Unabhängigkeit von Threads im selben Prozess ist viel geringer als in verschiedenen Prozessen.

5. System-Overhead

Der Overhead der Thread-Umschaltung ist geringer als der Overhead der Prozessumschaltung

Für Herkömmlicher Prozess, dh ein Single-Thread-Prozess, unabhängig von der Anzahl der Prozessoren kann der Prozess nur auf demselben Prozessor ausgeführt werden. Bei einem Multi-Thread-Prozess können jedoch mehrere Threads in einem Prozess mehreren Prozessoren zugewiesen werden. so dass seine gleichzeitige Ausführung den Abschluss des Prozesses beschleunigt.

(Empfohlenes Video-Tutorial:

Java-Video-Tutorial

)

5. Anwendungsszenarien von Prozessen und Threads

Sammlung klassischer Java-Interviewfragen (4)

    Es müssen häufig Prioritätsthreads erstellt und gelöscht werden.
  • Priorisieren Sie Threads, die viel Rechenaufwand erfordern.

  • Threads werden für starke Korrelationen und Prozesse für schwache Korrelationen verwendet.

  • Es kann erweitert werden, um Prozesse für die Verteilung auf mehreren Maschinen und Threads für die Verteilung auf mehreren Kernen zu verwenden.

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

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

See all articles