Heim > Java > JavaInterview Fragen > Java-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (7)

Java-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (7)

王林
Freigeben: 2020-08-20 16:37:04
nach vorne
2187 Leute haben es durchsucht

Java-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (7)

1. Pessimistische Sperre im Ruhezustand und optimistische Sperre andere Benutzer können Änderungen vornehmen. Vorteile: Die Konsistenz der Daten bleibt sehr gut erhalten. Nachteile: Es ist nicht für den gleichzeitigen Zugriff mehrerer Benutzer geeignet. Wenn eine gesperrte Ressource nicht freigegeben wird, wird die Ressource niemals von anderen Benutzern geändert, was leicht zu unbestimmten Wartezeiten führen kann.

Optimistische Sperre im Ruhezustand: Wenn die Daten geändert werden, werden die Daten mit der Version oder dem Zeitstempel verglichen, um festzustellen, ob die Daten konsistent sind, um eine Sperre zu erreichen. Die Vorteile sind relativ gut.

2. Drei Zustände in den Ruhezustand versetzen

Temporärer Zustand: Das neue Objekt wurde noch nicht beibehalten und befindet sich noch nicht in der Sitzung.

Persistenter Zustand: wurde beibehalten und dem Sitzungscache hinzugefügt. Objekte in diesem Zustand werden aufgerufen persistentes Objekt;

Freier Zustand: Das persistente Objekt ist vom Sitzungsobjekt getrennt. Beispielsweise Objekte, deren Sitzungscache geleert wurde. Features: Bereits persistiert, aber nicht im Sitzungscache. Objekte in diesem Zustand werden als freie Objekte bezeichnet , und hohe Entwicklungsarbeitsbelastung. Die meisten von ihnen schreiben ihr eigenes SQL und viele Konfigurationsdateien 4. Lassen Sie uns über den Mybatis-Verbindungspool sprechen. Es gibt drei Arten von Pools: native, c3p0 und dbcp. Die DataSource-Schnittstelle wird über den Factory-Modus erstellt PooledDataSource (Datenquelle mit Verbindungspool).

Nehmen Sie als Beispiel: Sie benötigen ein Objekt, um eine Verbindung zur Datenbank herzustellen .Connection-Verbindungsobjekt beim Ausführen der SQL-Anweisung: Die PooledDataSource-Datenquelle umschließt das Connection-Pool-Objekt in einem PooledConnection-Objekt. MyBatis unterteilt den Verbindungspool im Verbindungspool in zwei Zustände: Ruhezustand (Leerlauf) und Aktivzustand (Aktiv). PooledConnection-Objekte werden in zwei Listensammlungen, „idleConnections“ und „activeConnections“, im PoolState-Container gespeichert:

idle(ruhezustand) Zustand , wird das PooledConnection-Objekt in der Sammlung „idleConnections“ platziert und gibt die derzeit inaktive PooledConnection-Sammlung an, die nicht verwendet wird. Wenn die Methode „getConnection()“ von PooledDataSource aufgerufen wird, wird das PooledConnection-Objekt zuerst aus dieser Sammlung entnommen. Wenn ein java.sql.Connection-Objekt aufgebraucht ist, verpackt MyBatis es in ein PooledConnection-Objekt und fügt es in diese Sammlung ein.

Im aktiven Zustand wird das PooledConnection-Objekt in der ArrayList mit dem Namen activeConnections platziert, die die aktuell verwendete PooledConnection-Sammlung darstellt. Wenn die getConnection()-Methode von PooledDataSource aufgerufen wird, wird das PooledConnection-Objekt zuerst aus der emptyConnections-Sammlung übernommen. Wenn nicht, prüfen Sie, ob die Sammlung voll ist. Wenn nicht, erstellt PooledDataSource eine PooledConnection, fügt sie dieser Sammlung hinzu und gibt sie zurück. (Empfohlenes Video-Tutorial:

Java-Kurs.) 5 Prinzip

Der Benutzer sendet eine Anfrage, die vom Front-End-Controller DispatcherServlet erfasst und abgefangen wird.

DispatcherServlet ruft das HandlerMapping-Prozessorzuordnungsverwaltungsobjekt auf, um den Handler-Prozessor abzurufen Handler und HttpMessageConveter konvertieren die Anforderungsinformationen in das angegebene Antwortobjekt.

Füllen Sie mit dem Adapter die Anforderungsparameter in den Handler, und Spring beginnt mit der Ausführung des Handlers (Controllers), um Datenkonvertierung, Datenüberprüfung und Daten durchzuführen Formatierungsvorgänge

Nachdem der Handler ausgeführt wurde, wird ein ModelAndView-Objekt an das DispatcherServlet zurückgegeben.

Wählen Sie einen geeigneten ViewResolver-Ansichtsparser basierend auf dem zurückgegebenen ModelAndView und suchen Sie die von ModelAndView angegebene Ansicht die Seite anzeigen

Das obige ist der detaillierte Inhalt vonJava-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (7). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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