


Fragen zu Java-Interviews für Fortgeschrittene und Fortgeschrittene (mit Antworten)
1. Wie synchronisiert man Redis mit lokalen Daten?
Das Programm synchronisiert den Betrieb von Redis beim Aktualisieren, Hinzufügen und Löschen von MySQL
Das Programm fragt Redis ab. Wenn es nicht existiert, fragt es MySQL ab und speichert Redis automatisch
2. Wie viele Datenstrukturen hat Redis?
set, list, hash, string, zset
3. Wie wird ein Java-Speicherüberlauf verursacht?
OutOfMemoryError:
(1)PerGern Space Im Programm werden viele Jars oder Klassen verwendet, sodass die virtuelle Maschine nicht genügend Platz zum Laden der Klasse hat.
Lösung: Passen Sie die Parameter XX:PermSize und XX:MaxPermSize an, reduzieren Sie JAR-Pakete und reduzieren Sie das wiederholte Laden von Klassen
(2) Java Heap
Platz für die Erstellung einer virtuellen Java-Maschine Auch mehrere Objekte. Lösung: Passen Sie die Parameter Xms (anfängliche Heap-Größe) und Xmx (maximale Heap-Größe) an und prüfen Sie, ob Endlosschleifen vorhanden sind oder unnötige doppelte Objekte erstellt werden.
(3) Neuer nativer Thread kann nicht erstellt werden
JVM nimmt zu viel Speicherplatz ein und das Erstellen eines Threads in JVM erfordert das Erstellen eines Threads im Betriebssystem. Lösung: Passen Sie die Thread-Größe in der JVM an.
4. String s = „123“, wie viele Objekte werden durch diese Anweisung generiert?
Wenn es keine „123“ im String-Pool gibt, generieren Sie eine und fügen Sie sie in den Konstanten-Pool ein. Wenn „123“ vorhanden ist, generieren Sie 0
5 , neue Funktionen von JDK8, beschrieben mit Beispielen
(1) Lambda-Ausdruck: funktionale Programmierung, Methodenreferenz
(2) Stream-API
(3 ) Standard Methode der Schnittstelle
(4) Verbesserung der Datums- und Uhrzeit-API, neue DateTimeFormatter-Methode
6. Lösung hoher Parallelität und hoher Last
( 1) Machen Sie HTML so statisch wie möglich, verwenden Sie das CMS des Informationseingabe- und -freigabesystems, um automatisch statische Seiten für die Informationseingabe zu generieren, und speichern Sie dynamische Daten, die sich nicht häufig ändern, im Frontend zwischen.
(2) CDN-Beschleunigung, Verteilung von CSS/JS und anderen Ressourcen auf verschiedene Server
(3) Cache-Daten, die sich nicht häufig ändern (Redis, Memcache).
(4) Der Bildserver ist vom Anwendungsserver getrennt.
(5) Cluster
7. Welche Rolle spielen die Produzenten- und Konsumentenmodelle?
(1) Verbessern Sie die Betriebseffizienz des gesamten Systems durch Ausgleich von Produktionskapazität und Verbraucherkaufkraft. (2) Entkopplung
8 Cache
(1) Level-1-Cache: Lokaler HashMap-Cache basierend auf PerpetualCache, der die Scope-Sitzung speichert. Beim Leeren oder Schließen der Sitzung wird der gesamte Cache in der Sitzung gelöscht .
(2) Der Cache der zweiten Ebene verfügt über denselben Mechanismus wie der Cache der ersten Ebene. Standardmäßig werden auch PerpetualCache- und HashMap-Speicher verwendet. Der Unterschied liegt im Speicherbereich Mapper und der Speicherquelle angepasst werden, wenn Sie den Second-Level-Cache aktivieren müssen. Fügen Sie
zur SQL-Zuordnungsdatei hinzu. 9. Beschreiben Sie den detaillierten Prozess eines Dienstes von der Veröffentlichung bis zur Nutzung.Rufen Sie zuerst die ZK-Konfigurationsinformationen ab Rufen Sie dann die Registrierungs- und Registrierungsmethode auf, um die URL bei zookeeper zu registrieren.
10. Wie kann ein Lastausgleich erreicht werden?Zufällig, Round-Robin, konsistenter Hash und Master-Slave
11 Wenn Sie möchten, wie implementieren Sie Spring AOP?Die Implementierung der AOP-Technologie ist hauptsächlich in zwei Kategorien unterteilt: Die eine ist die Verwendung der dynamischen Proxy-Technologie, die die Methode des Abfangens von Nachrichten verwendet, um die Nachrichten zu dekorieren und die Ausführung des ursprünglichen Objektverhaltens zu ersetzen
Die zweite besteht darin, statisches Weben zu verwenden, um eine spezifische Syntax zum Erstellen von „Aspekten“ einzuführen, sodass der Code, der sich auf „Aspekte“ bezieht, in den Compiler eingebunden werden kann
12. Wie um wiederholte Seitenübermittlungen zu verhindern?Clusterumgebung: Token plus Redis verwenden (Redis ist Single-Threaded, die Verarbeitung muss in die Warteschlange gestellt werden)
Verarbeitungsprozess:
1. Sie müssen es an den Dienst „Anfordern eines Tokens“ senden, das Token in den Redis-Speicher legen und die Gültigkeitsdauer des Tokens beträgt
2. Nach der Übermittlung überprüft der Hintergrund das Token und löscht es gleichzeitig. Einen neuen Token generieren und zurückgeben
13. Was ist Micro Serve?Teilen Sie das Projekt gemäß verschiedenen Geschäftsregeln in Microservices auf und stellen Sie diese auf verschiedenen Maschinen bereit. Dienste rufen sich gegenseitig an
14. Was ist ein Webdienst?(1) Ein Webdienst ist eine Anwendung, die der Außenwelt eine API zur Verfügung stellt, die über das Web aufgerufen werden kann.
(2) Daten werden auf Basis des HTTP-Protokolls übertragen Dadurch können verschiedene Anwendungen auf unterschiedlichen Maschinen Daten austauschen oder miteinander integriert werden, ohne auf zusätzliche, spezialisierte Software und Hardware von Drittanbietern zurückgreifen zu müssen.
15. Erzählen Sie mir, warum Sie sich für Struts2 entschieden haben Projekt?①Action ist eine POJO-Klasse, ist nicht auf die Servlet-API angewiesen und verfügt über eine gute Testbarkeit; ②Leistungsstarker Interceptor vereinfacht die Komplexität der Entwicklung;
③Unterstützt mehrere Leistungsschichten: JSP, Freemarker ④Flexible Überprüfungsmethode; ⑥Deklarative Ausnahmeverwaltung; ⑧Integration mit Spring bis Spring-Plugin; über den Unterschied zwischen Abfangjägern und Filtern?
Sowohl Interceptoren als auch Filter können zur Implementierung übergreifender Aufmerksamkeitsfunktionen verwendet werden. Die Hauptunterschiede sind: ①Interceptoren basieren auf dem JAVA-Reflexionsmechanismus, während Filter auf Funktionsrückrufen basieren.
②Filter Abhängig vom Servlet Container, während der Interceptor nicht vom Servlet-Container abhängig ist
③ Der Interceptor kann nur mit Aktionsanfragen (Methoden in Aktion) arbeiten, während Filter mit fast allen Anfragen arbeiten können (CSS JSP JS)
17. Welche Arten des Transaktionsmanagements unterstützt Spring?
Programmatische Transaktionsverwaltung: Dinge programmgesteuert verwalten, große Flexibilität, schwer zu warten
Deklarative Transaktionsverwaltung: Geschäftscode und Transaktionsverwaltung können getrennt werden, nur Anmerkungen und XML-Konfiguration zur Verwaltung verwenden Dinge
php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!
Das obige ist der detaillierte Inhalt vonFragen zu Java-Interviews für Fortgeschrittene und Fortgeschrittene (mit Antworten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

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

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.

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

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.

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

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.

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
