国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Java JavaInterview Fragen Fragen zum neuen Java-Interview 2020 – Frühling (2)

Fragen zum neuen Java-Interview 2020 – Frühling (2)

Jun 28, 2020 pm 05:24 PM
java spring Interviewfragen

Fragen zum neuen Java-Interview 2020 – Frühling (2)

1. Sind Bohnen im Frühjahr fadensicher?

(Verwandte Empfehlungen: Java-Interviewfragen)

Ob die Bohnen im Spring-Container threadsicher sind, stellt der Container selbst keinen Thread bereit. Sicherheitsrichtlinie für die Bohnen, also Man kann sagen, dass die Bohnen im Federbeh?lter selbst keine Thread-Sicherheitseigenschaften aufweisen, die Details müssen jedoch noch in Kombination mit den Bohnen im spezifischen Bereich untersucht werden.

2. Wie viele Bohnenbereiche unterstützt Spring?

Wenn eine Bean-Instanz über den Spring-Container erstellt wird, kann nicht nur die Instanziierung der Bean-Instanz abgeschlossen werden, sondern es kann auch ein bestimmter Bereich für die Bean angegeben werden. Spring unterstützt die folgenden 5 Bereiche:

Singleton: Singleton-Modus. Im gesamten Spring IoC-Container haben mit Singleton definierte Beans nur eine Instanz

Prototyp: Prototypmodus, jeder Durchgang Wenn getBean Die Methode des Containers ruft die durch den Prototyp definierte Bean ab und generiert eine neue Bean-Instanz

Anfrage: Für jede HTTP-Anfrage generiert die mithilfe der Anforderung definierte Bean eine neue Instanz, d. h. jede HTTP-Anfrage ist eine andere Bean Instanzen werden generiert. Dieser Bereich ist nur gültig, wenn Spring in einer Webanwendung

Sitzung verwendet wird: Für jede HTTP-Sitzung wird eine neue Instanz unter Verwendung der durch die Sitzung definierten Bean-Beans generiert. Dieser Bereich ist auch nur gültig, wenn Spring in einer Webanwendung verwendet wird.

globalsession: Für jede globale HTTP-Sitzung generieren die mithilfe der Sitzung definierten Beans eine neue Instanz. Normalerweise ist dies nur gültig, wenn ein Portlet-Kontext verwendet wird. Dieser Bereich ist auch nur gültig, wenn Spring in einer Webanwendung verwendet wird

Die am h?ufigsten verwendeten Bereiche sind Singleton und Prototyp. Bei Singleton-Beans erhalten Sie jedes Mal dieselbe Instanz, wenn Sie die Bean anfordern. Der Container ist dafür verantwortlich, den Status der Bean-Instanz zu verfolgen und das Lebenszyklusverhalten der Bean-Instanz aufrechtzuerhalten.

Wenn eine Bean auf den Prototypbereich eingestellt ist, fordert das Programm die Bean jedes Mal mit dieser ID an, Spring erstellt eine neue Bean-Instanz und kehrt dann zum Programm zurück. In diesem Fall verwendet der Spring-Container nur das Schlüsselwort new, um die Bean-Instanz zu erstellen. Sobald die Erstellung erfolgreich ist, verfolgt der Container die Instanz nicht mehr und beh?lt den Status der Bean-Instanz nicht bei.

Wenn Sie den Bereich der Bean nicht angeben, verwendet Spring standardm??ig den Singleton-Bereich.

Wenn Java eine Java-Instanz erstellt, muss es Speicher beantragen. Wenn es die Instanz zerst?rt, muss es die Speicherbereinigung abschlie?en. Diese Aufgaben führen zu einem Anstieg des Systemaufwands. Daher ist die Erstellung und Zerst?rung von Prototyp-Scope-Beans relativ teuer. Sobald die Bean-Instanz im Singleton-Bereich erfolgreich erstellt wurde, kann sie wiederverwendet werden.

Vermeiden Sie es daher, Beans auf den Prototypbereich festzulegen, sofern dies nicht erforderlich ist.

3. Wie kann Spring Bohnen automatisch zusammenstellen?

Der Spring-Container ist für die Erstellung von Beans in der Anwendung und die Koordinierung der Beziehungen zwischen diesen Objekten über IDs verantwortlich. Als Entwickler müssen wir Spring mitteilen, welche Beans erstellt werden sollen und wie diese miteinander verbunden werden sollen.

Es gibt zwei M?glichkeiten, Beans im Frühjahr zusammenzustellen:

1. Impliziter Bean-Erkennungsmechanismus und automatische Assemblierung

2. Anzeige der Konfiguration in Java-Code oder XML

Natürlich k?nnen diese Methoden auch zusammen angewendet werden.

4. Welche Implementierungsmethoden gibt es für Frühlingstransaktionen?

Programmatisches Transaktionsmanagement ist die einzige Option für POJO-basierte Anwendungen. Wir müssen beginTransaction(), commit(), rollback() und andere Methoden zur Transaktionsverwaltung im Code aufrufen. Dies ist eine programmatische Transaktionsverwaltung.

Deklaratives Transaktionsmanagement basierend auf TransactionProxyFactoryBean

Deklaratives Transaktionsmanagement basierend auf @Transactional

Konfigurieren von Transaktionen basierend auf Aspectj AOP

5 über die Transaktionsisolation von Spring?

Die Transaktionsisolationsstufe bezieht sich auf den Grad der Isolation zwischen der ?nderung von Daten durch eine Transaktion und einer anderen parallelen Transaktion, wenn mehrere Transaktionen gleichzeitig auf dieselben Daten zugreifen, wenn der erforderliche Isolationsmechanismus nicht vorhanden ist Wenn es übernommen wird, k?nnen folgende Probleme auftreten:

Dirty Read: Eine Transaktion liest nicht festgeschriebene Aktualisierungsdaten von einer anderen Transaktion.

Phantom-Lesung: Beispielsweise werden bei der ersten Transaktion die Daten in einer Tabelle ge?ndert. Diese ?nderung betrifft beispielsweise ?alle Datenzeilen“ in der Tabelle. Gleichzeitig werden durch die zweite Transaktion auch die Daten in dieser Tabelle ge?ndert. Diese ?nderung besteht darin, ?eine Zeile mit neuen Daten“ in die Tabelle einzufügen.

Dann wird der Benutzer, der die erste Transaktion durchführt, feststellen, dass die Tabelle immer noch unver?nderte Datenzeilen enth?lt, als ob er halluzinieren würde.

Nicht wiederholbares Lesen: Beispielsweise werden in derselben Transaktion zwei identische Select-Anweisungen nacheinander ausgeführt. In diesem Zeitraum wurden in dieser Transaktion keine DDL-Anweisungen ausgeführt, die nacheinander erhaltenen Ergebnisse sind jedoch inkonsistent -wiederholbar.

Das obige ist der detaillierte Inhalt vonFragen zum neuen Java-Interview 2020 – Frühling (2). 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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Hei?e Themen

PHP-Tutorial
1502
276
Wie gehe ich mit Transaktionen in Java mit JDBC um? Wie gehe ich mit Transaktionen in Java mit JDBC um? Aug 02, 2025 pm 12:29 PM

Um JDBC -Transaktionen korrekt zu verarbeiten, müssen Sie zun?chst den automatischen Komiti -Modus ausschalten und dann mehrere Vorg?nge ausführen und schlie?lich entsprechend den Ergebnissen festlegen oder rollen. 1. Nennen Sie Conn.SetAutoCommit (False), um die Transaktion zu starten. 2. Führen Sie mehrere SQL -Operationen aus, z. B. einfügen und aktualisieren. 3. Rufen Sie Conn.Commit () an, wenn alle Vorg?nge erfolgreich sind, und rufen Sie Conn.Rollback () auf, wenn eine Ausnahme auftritt, um die Datenkonsistenz zu gew?hrleisten. Gleichzeitig sollten Try-with-Ressourcen verwendet werden, um Ressourcen zu verwalten, Ausnahmen ordnungsgem?? zu behandeln und Verbindungen zu schlie?en, um Verbindungsleckage zu vermeiden. Darüber hinaus wird empfohlen, Verbindungspools zu verwenden und Save -Punkte zu setzen, um teilweise Rollback zu erreichen und Transaktionen so kurz wie m?glich zu halten, um die Leistung zu verbessern.

Wie arbeite man mit Kalender in Java? Wie arbeite man mit Kalender in Java? Aug 02, 2025 am 02:38 AM

Verwenden Sie Klassen im Java.Time -Paket, um das alte Datum und die Kalenderklassen zu ersetzen. 2. Erhalten Sie das aktuelle Datum und die aktuelle Uhrzeit durch LocalDate, LocalDatetime und Local Time; 3. Erstellen Sie ein bestimmtes Datum und eine bestimmte Uhrzeit mit der von () Methode; 4.. Verwenden Sie die Plus/Minus -Methode, um die Zeit nicht zu erh?hen und zu verkürzen. 5. Verwenden Sie ZonedDatetime und zoneId, um die Zeitzone zu verarbeiten. 6. Format und analysieren Sie Datumszeichenfolgen über DateTimeFormatter; 7. Verwenden Sie sofortige, um bei Bedarf mit den alten Datumstypen kompatibel zu sein. Die Verarbeitung der Datum in der modernen Java sollte der Verwendung von Java.Timeapi vorrangig machen, was klare, unver?nderliche und linear ist

Vergleich von Java Frameworks: Spring Boot vs Quarkus gegen Micronaut Vergleich von Java Frameworks: Spring Boot vs Quarkus gegen Micronaut Aug 04, 2025 pm 12:48 PM

Pre-Formancetartuptimemoryusage, QuarkusandmicronautleadduToCompile-Time-foringandgraalvSupport, WithQuarkusofttenperformLightBetterin serverloser Szenarien.2. Thyvelopecosystem,

Wie funktioniert die Müllsammlung in Java? Wie funktioniert die Müllsammlung in Java? Aug 02, 2025 pm 01:55 PM

Die Müllsammlung von Java (GC) ist ein Mechanismus, der automatisch den Speicher verwaltet, der das Risiko eines Speicherlecks verringert, indem unerreichbare Objekte zurückgeführt werden. 1.GC beurteilt die Zug?nglichkeit des Objekts aus dem Stammobjekt (z. B. Stapelvariablen, aktive Threads, statische Felder usw.) und nicht erreichbare Objekte als Müll markiert. 2. Basierend auf dem markierten Algorithmus markieren Sie alle erreichbaren Objekte und l?schen Sie nicht markierte Objekte. 3.. Verfolgen Sie eine Generationskollektionsstrategie: Die neue Generation (Eden, S0, S1) führt h?ufig MollGC aus; Die ?lteren Menschen erzielen weniger, dauert jedoch l?nger, um MajorGC durchzuführen. MetaPace speichert Klassenmetadaten. 4. JVM bietet eine Vielzahl von GC -Ger?ten: SerialGC ist für kleine Anwendungen geeignet; ParallelgC verbessert den Durchsatz; CMS reduziert sich

Gehen Sie zum Beispiel für HTTP Middleware -Protokollierung Gehen Sie zum Beispiel für HTTP Middleware -Protokollierung Aug 03, 2025 am 11:35 AM

HTTP-Protokoll Middleware in Go kann Anforderungsmethoden, Pfade, Client-IP und zeitaufw?ndiges Aufzeichnen aufzeichnen. 1. Verwenden Sie http.Handlerfunc, um den Prozessor zu wickeln, 2. Nehmen Sie die Startzeit und die Endzeit vor und nach dem Aufrufen als n?chstes auf. Der vollst?ndige Beispielcode wurde überprüft, um auszuführen und eignet sich zum Starten eines kleinen und mittelgro?en Projekts. Zu den Erweiterungsvorschl?gen geh?ren das Erfassen von Statuscodes, die Unterstützung von JSON -Protokollen und die Nachverfolgung von ID -IDs.

Verwenden von HTML `Input` -Typen für Benutzerdaten Verwenden von HTML `Input` -Typen für Benutzerdaten Aug 03, 2025 am 11:07 AM

Durch die Auswahl des richtigen HTMlinput -Typs kann die Datengenauigkeit verbessert, die Benutzererfahrung verbessert und die Benutzerfreundlichkeit verbessert werden. 1. W?hlen Sie die entsprechenden Eingabetypen gem?? dem Datentyp aus, z. B. Text, E -Mail, Tel, Nummer und Datum, die automatisch überprüft und an die Tastatur anpassen k?nnen. 2. Verwenden Sie HTML5, um neue Typen wie URL, Farbe, Reichweite und Suche hinzuzufügen, die eine intuitivere Interaktionsmethode bieten k?nnen. 3.. Verwenden Sie Platzhalter und erforderliche Attribute, um die Effizienz und Genauigkeit der Formulierung zu verbessern. Es sollte jedoch beachtet werden, dass der Platzhalter das Etikett nicht ersetzen kann.

Vergleich von Java -Build -Werkzeugen: Maven vs. Gradle Vergleich von Java -Build -Werkzeugen: Maven vs. Gradle Aug 03, 2025 pm 01:36 PM

GradleStheBetterChoiceFormostnewProjectsDuetoitSuperiorFlexibilit?t, Leistung und ModerntoolingSupport.1.GRADLE'SGROOVY/KOTLINDSLISMORECONCISEANDEIPRESSIVETHANMANMANBOSEXML.2.GRAGRECONCISEANDEPRPRESSIVETHANMAVENSVOSEXML.2.

Gehen Sie mit einer Beispielverschiebung erkl?rt Gehen Sie mit einer Beispielverschiebung erkl?rt Aug 02, 2025 am 06:26 AM

Auf Defer wird verwendet, um bestimmte Vorg?nge auszuführen, bevor die Funktion zurückgibt, z. B. die Reinigungsressourcen. Die Parameter werden sofort bewertet, wenn sie aufgeschoben werden, und die Funktionen werden in der Reihenfolge von Last-In-First-Out (LIFO) ausgeführt. 1. Mehrere Defers werden in umgekehrter Reihenfolge der Erkl?rungen ausgeführt. 2. h?ufig für die sichere Reinigung wie das Schlie?en von Dateien verwendet; 3. Der benannte Rückgabewert kann ge?ndert werden; V. 5. Vermeiden Sie den Missbrauch von Verschiebungen in Schleifen, um Ressourcenleckage zu verhindern. Die korrekte Verwendung kann die Sicherheit und die Lesbarkeit der Code verbessern.

See all articles