Dieser Artikel hat eine relativ umfassende Zusammenfassung der Grundkenntnisse der Programmiersprache Java zusammengestellt, die ich hier gerne mit Ihnen teilen möchte. Freunde in Not können sich darauf berufen.
Grundkenntnisse von Java
1. Vorteile der Java-Sprache:
1) Java ist eine reine objektorientierte Sprache
2) Plattformunabhängig, einmal kompilieren und überall ausführen
3) Java bietet viele integrierte Klassenbibliotheken
4) Bietet Unterstützung für Webanwendungen
5) Verfügt über eine gute Sicherheit (Array-Grenzenerkennung, Bytecode-Erkennung) und Robustheit (Durchsetzungsmechanismus, Garbage Collector, Ausnahmebehandlung)
6) Entfernen Sie einige Funktionen, die in C++ schwer zu verstehen sind (Header-Dateizeigeroperator überlastet Mehrfachvererbung)
2. Ähnlichkeiten und Unterschiede zwischen Java und C++:
1) Java ist eine interpretierte Sprache und C++ ist eine kompilierte Sprache. Java ist langsam, aber plattformübergreifend.
2) Java ist rein objektorientiert c++ ist sowohl objektorientiert als auch objektorientiert. Objekte können auch prozessorientiert sein. Java hat keine globalen Variablen und globalen Funktionen
3) Java hat keine Zeiger, was sicherer ist
4) Java unterstützt keine Mehrfachvererbung, verfügt aber über das Konzept von Schnittstellen
5) Java erfordert keine manuelle Zuweisung und Verwaltung von Speicher (Antrag auf Freigabe) und bietet eine automatische Wiederverwertung durch den Garbage Collector. Wenn im Stapel oder im statischen Speicher keine Verweise auf das Objekt vorhanden sind, wird es recycelt. Es gibt keinen Destruktor, aber eine finalize()-Methode.
6) Java hat keine Operatorüberladung und keine Vorverarbeitungsfunktion.
3. public static void main(String [] args) ist der Einstiegspunkt des Programms.
4. Java kann mehrere main()-Dateien haben, aber nur die main() einer mit public dekorierten Klasse, die denselben Namen wie die Datei hat als Programm genutzt werden. Hinweis: Es gibt und gibt nur eine Klasse, die von der Öffentlichkeit geändert wird und denselben Namen wie die Datei hat.
5. Der statische Block wird vor der Hauptfunktion ausgeführt. Initialisierungsausführungssequenz: übergeordnete statische Variable, übergeordneter statischer Codeblock, untergeordnete statische Codevariable, untergeordneter statischer Codeblock, übergeordnete, nicht statische Variable, übergeordneter, nicht statischer Codeblock, übergeordneter Klassenkonstruktor, untergeordnete, nicht statische Variable, untergeordneter, nicht statischer Codeblock, untergeordneter Klassenkonstruktor
6. Konstruktor:
1) Derselbe Name wie die Klasse, kein Rückgabewert
2) Kann mehrfach sein, je nach verschiedenen Parametern
3) Wird immer mit einer neuen Operation aufgerufen
4) Wird hauptsächlich zum Initialisieren von Objekten verwendet
5) Kann nicht vererbt werden
6) Super kann verwendet werden, um den Konstruktor der übergeordneten Klasse explizit aufzurufen
7. Shallow Copy kopiert nur das betrachtete Objekt, nicht das Objekt, auf das es verweist Zu. Deep Copy kopiert beides
8. Was ist der Unterschied zwischen objektorientiert und prozessorientiert:
1 ) Orientiert Ziel ist es, die Probleme der objektiven Welt auf eine Weise zu behandeln, die mit konventionellem Denken im Einklang steht, während prozessorientiert ereigniszentriert und modular ist.
2) Objektorientiert bringt die Computerwelt näher an die objektive Welt heran und macht die Problemverarbeitung klarer. Prozessorientiert ist ein Modul, das Prozesse klar und genau ausdrückt und Probleme in der objektiven Welt in Prozesse abstrahiert, die von Computern verarbeitet werden können.
9. Objektorientierte Funktionen und Vorteile : Abstraktion, Vererbung, Kapselung, Polymorphismus haben eine hohe Entwicklungseffizienz und Code kann wiederverwendet werden. Höhere Wartbarkeit und klarerer Code.
10. Java unterstützt nur die Einzelwurzelvererbung, erweitert Vererbung ist eine Beziehung und Kombination ist eine Beziehung.
Wenn Sie Kombinationen in der Java-Sprache verwenden können, versuchen Sie, keine Vererbung zu verwenden.
11. Polymorphismus:
Überladung (es gibt mehrere Methoden mit demselben Namen in derselben Klasse) Horizontale Beziehung
Umschreiben (Unterklasse schreibt übergeordnete Klasse neu, Methodenname und Parameterliste sind gleich) Vertikale Beziehung
12. Ähnlichkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen:
1) Solange es eine abstrakte Methode enthält, handelt es sich um eine abstrakte Klasse. Alle Methoden der Schnittstelle sind abstrakte Methoden, die als reine abstrakte Klasse bezeichnet werden.
2) Unterklassen abstrakter Klassen müssen die abstrakten Methoden der übergeordneten Klasse implementieren.
3) Die Variablen in der Schnittstelle sind standardmäßig auf „statisch final“ eingestellt und müssen einen Anfangswert erhalten.
4) Die Schnittstelle wird mithilfe von Implements implementiert. Eine Klasse kann mehrere Schnittstellen implementieren, um eine Beziehung ähnlich der Mehrfachvererbung zu erreichen.
5) Die Schnittstelle wird für häufig verwendete Funktionen wie Hinzufügen und Löschen verwendet. Abstrakte Klassen werden als öffentliche Klassen im täglichen Leben verwendet und eignen sich nicht für häufige Codeänderungen
13. Der Unterschied zwischen this und super:
Dies wird verwendet, um auf das aktuelle Instanzobjekt zu verweisen
Super wird verwendet, um auf die Methoden und Mitgliedsvariablen der übergeordneten Klasse zuzugreifen
Wenn die Unterklasse erbt Die übergeordnete Klasse super(im Unterklassenkonstruktor) muss als erster Satz platziert werden.
14. Der Unterschied zwischen break continue return:
Break wird verwendet, um direkt aus der aktuellen Schleife zu springen, ohne den verbleibenden Code auszuführen
Weiter wird verwendet, um die aktuelle Schleife zu stoppen und zum Startpunkt für die nächste Schleife zurückzukehren.
Return Jump wird verwendet, um die Rückkehr von einer Methode anzuzeigen.
Ausbrechen, um aus mehreren Schleifen zu springen
15. Die Rolle der Statik:
a Zuweisen ein einzelner Wert für das Objekt Der Speicherplatz hat nichts mit der Anzahl der erstellten Objekte zu tun
b Implementieren Sie eine Methode oder ein Attribut und eine Klasse, anstatt sie mit dem Objekt zu verknüpfen
C-Variablen können globale Effekte erzielen, es gibt nur eine Kopie im Speicher
16. Implementierung unveränderlicher Klassen:
Alle Mitgliedsvariablen in der Klasse werden durch private geändert
Es wird keine festgelegte Methode geschrieben
Klassendefinition endgültig
17, der Unterschied zwischen der Wertübergabe und der Referenzübergabe:
Wertübergabe: Der tatsächliche Parameter übergibt seinen Wert an den formalen Parameter
Referenzübergabe: Übergeben wird ein Objekt, formale Parameter und tatsächliche Parameter verweisen auf dieselbe Speichereinheit.
18. Es gibt acht grundlegende Datentypen. Die Priorität der Typkonvertierung: Byte kann nicht mit Booleam vertauscht werden.
19. rund bedeutet Aufrunden, Decke bedeutet Aufrunden, Boden bedeutet Abrunden, i++ bedeutet zuerst ausführen und dann
eins hinzufügen, ++i bedeutet Fügen Sie zuerst eine hinzu und führen Sie sie dann aus.
20. String s1="abc" ist ein im konstanten Bereich gespeichertes Objekt
String s2="abc" s2 gilt für Konstanter Bereich. Es werden keine neuen Objekte erstellt.
String s3=new String („abc“) dient zum Erstellen eines Objekts im Heap.
String s4=new String („abc“) muss vorhanden sein Der Heap Erstellt neue Objekte.
21. "==" und "gleich"
"==" wird verwendet, um zu vergleichen, ob die Werte zweier Variablen sind sind gleich. Wenn eine Variable, die auf Daten zeigt, ein Objekt (Referenztyp) ist und zwei Speicherteile vorhanden sind. Das Objekt selbst belegt einen Teil des Speichers (Heap-Speicher), und die Variablen belegen ebenfalls einen Teil des Speichers. String s4 = neuer String("abc"). Der im Speicher gespeicherte Wert, der der Variablen s entspricht, ist die erste Adresse des vom Objekt belegten Speichers. Wenn Sie sehen möchten, ob zwei Variablen auf dasselbe Objekt verweisen, müssen Sie sehen, ob ihre entsprechenden Werte (erste Adressen) im Speicher gleich sind.
equals vergleicht nicht Referenzen, sondern numerische Inhalte, d. h. abc wird verglichen.
22. Arrays sind auch Objekte. Arrays stellen das Längenattribut bereit, um die Länge des Arrays zu erhalten, und String wird über length() berechnet.
23. Ausnahmebehandlung
1) Versuchen Sie den Catch-Endlich-Modus
2) Code in „Endlich“ blockieren wird auf jeden Fall ausgeführt, außer in diesen beiden Situationen: wenn das Programm vor try auf eine Ausnahme stößt oder wenn es in try über exit() zum Beenden gezwungen wird.
3) Der JVM stellt den Fehler als Ausnahme dar und löst ihn aus, fängt ihn durch Catch ab und verarbeitet ihn dann. Sicherheit und Robustheit.
4) Ausnahmen sind in zwei Kategorien unterteilt: Fehler und Ausnahmen
Ausnahmen sind unterteilt in: Prüfausnahmen und laufende Ausnahmen.
Geprüfte Ausnahmen werden auch Kompilierungsausnahmen genannt.
Zum Beispiel: E/A-Ausnahme, SQL-Ausnahme
Ausführungsausnahmen sind: Nullzeigerausnahme, Typkonvertierungsausnahme, arithmetische Ausnahme, Ausnahme für Array außerhalb der Grenzen, Array Speicherausnahme, Cache-Bereichsüberlaufausnahme.
Erst die Unterklasse und dann die übergeordnete Klasse abfangen, die Ausnahme so früh wie möglich auslösen, sie behandeln, wenn sie behandelt werden kann, und sie auslösen, wenn sie nicht behandelt werden kann. Die Laufzeitausnahme ist eigentlich nicht erforderlich Um gehandhabt zu werden, wird es direkt geworfen.
24. Java IO: Byte-Stream (8 Bit) verwendet keinen Cache. Zeichen-Stream (16 Bit) verwendet Cache
25. Socket wird als Socket bezeichnet. Wird verwendet, um die Kommunikation zwischen verschiedenen virtuellen Maschinen oder verschiedenen Computern zu implementieren.
ist in zwei Typen unterteilt: verbindungsorientiertes TCP, zuverlässig. Kein verbindungsorientiertes UDP, unzuverlässig.
Jeder Socket wird eindeutig durch eine IP-Adresse und eine Portnummer bestimmt.
26. Java-Plattformunabhängigkeit bedeutet, dass Programme auf einer Plattform geschrieben und kompiliert werden und auf anderen Plattformen ausgeführt werden. Es gibt JVM und Java API.
Die Java-Sprache ist eine dynamisch interpretierte Sprache und Klassen können nur ausgeführt werden, wenn sie in die JVM geladen werden. Anstatt alle Klassen auf einmal zu laden und dann auszuführen, wird zuerst die Basisklasse geladen und bei Bedarf werden andere Klassen geladen.
27, Garbage Collection GC: Speicher recyceln, der nicht mehr verwendet wird. Drei Aufgaben: Speicher zuweisen; sicherstellen, dass referenzierter Speicher nicht fälschlicherweise zurückgefordert wird; und Speicher für Objekte zurückfordern, auf die nicht mehr verwiesen wird;
28. Speicherleckproblem in Java:
Zwei Situationen:
1) Im Heap Angewandter Speicherplatz wurde nicht freigegeben
2) Das Objekt wird nicht mehr verwendet, bleibt aber weiterhin im Speicher erhalten
Ursache: statische Sammlungsklasse, verschiedene Verbindungen, Überwachung Unangemessener Umfang von Geräten und Variablen
29. Der Unterschied zwischen Heap und Stack in Java:
Auf dem Stack zugewiesen: grundlegende Datentypen Referenzvariablen von Variablen und Objekten
Variablen werden automatisch freigegeben, wenn sie den Gültigkeitsbereich verlassen
Auf dem Heap zugewiesen: Referenztypvariablen, Variablen, die erstellt werden müssen durch neu. Hauptsächlich zur Laufzeit erstellte Objekte
JVM ist eine stapelbasierte virtuelle Maschine, die auf einer separaten JVM-Instanz ausgeführt wird. Daher wird jeder Thread in einem Java-Programm ausgeführt. Jede Instanz entspricht eindeutig einem Heap Daher wird der Heap-Speicher von diesen Threads gemeinsam genutzt.
Sie müssen nur Heap-Speicherplatz beantragen und müssen keine Release-Probleme berücksichtigen.
Verwenden Sie Referenzvariablen im Stapel, um auf Arrays und Objekte im Heap zuzugreifen.
Solange der Heap zum Speichern von Objekten verwendet wird, wird der Stapel hauptsächlich zum Speichern ausführbarer Programme verwendet.
Der Stapel ist schnell, aber seine Größe und Lebensdauer sind festgelegt und es mangelt ihm an Flexibilität. Der Heap weist Speicher dynamisch zu, was sehr flexibel, aber langsam ist.
30. Container: Java Collections Framework: Liste, Warteschlange, Satz, Stapel, Karte
Liste, Warteschlange, Satz, Stapel erben alle die Sammlungsschnittstelle.
1) Liste ist eine geordnete Sammlung. Objekte werden in der Reihenfolge gespeichert, in der sie eingegeben wurden, und doppelte Objekte können gespeichert werden.
2) Set ist das Konzept einer Menge, und die Menge darf keine doppelten Elemente enthalten.
3) Karte ist eine Datenstruktur, die Schlüssel Werten zuordnet. Werte können wiederholt werden, Schlüssel sind jedoch eindeutig und können nicht wiederholt werden.
31. Iterator: Es handelt sich um ein Objekt, eine Methode zum Zugriff auf jedes Element eines Containerobjekts, ohne die Details innerhalb des Objekts offenzulegen.
1) Verwenden Sie die iterator()-Methode des Containers, um einen Iterator zurückzugeben, und geben Sie dann ein Element über die next()-Methode des Iterators zurück.
2) Verwenden Sie die hasNext()-Methode von Iterator, um festzustellen, ob sich Elemente im Container befinden. Wenn ja, können Sie next() verwenden, um das nächste Element abzurufen.
3) Verwenden Sie „remove()“, um die vom Iterator zurückgegebenen Elemente zu löschen.
32. Der Unterschied zwischen Sammlungen und Sammlungen:
Sammlung: ist eine Sammlungsschnittstelle, die maximale einheitliche Vorgänge für jede spezifische Sammlung bietet.
Sammlungen: Es handelt sich um eine Wrapper-Klasse für Sammlungsklassen. Sie kann nicht instanziiert werden und entspricht einer Toolklasse, die das Collection-Framework bedient.
33. Multithreading:
Thread: eine Ausführungseinheit, die Code ausführt.
Prozess: ein ausführendes Programm
Jeder Thread teilt sich den Speicherplatz (Codesegment, Daten, Heap-Speicherplatz) des Programms und verfügt über einen unabhängigen Stapelspeicher.
Thread-Vorteile:
1) Reduzieren Sie die Reaktionszeit des Programms
2) Im Vergleich zu Prozessen sind die Kosten für die Erstellung eines Der Schalter ist klein
3) Multi-CPU und Multi-Core verfügen von Natur aus über Multithreading-Fähigkeiten
4) Vereinfachen Sie die Programmstruktur für ein einfaches Verständnis und eine einfache Wartung.
34. So implementieren Sie Java-Multithreading:
1) Erben Sie die Thread-Klasse und überschreiben Sie die run()-Methode
2) Implementieren Sie die Runnable-Schnittstelle und implementieren Sie die run()-Methode der Schnittstelle.
3) Implementieren Sie die Callable-Schnittstelle und schreiben Sie die call()-Methode neu.
35. Synchronisierung
Um den Synchronisierungsvorgang zu erreichen, müssen Sie die Sperre für jedes Thread-Objekt erhalten Ein Thread kann gleichzeitig den kritischen Abschnitt betreten, und bevor die Sperre aufgehoben wird, können andere Threads den kritischen Abschnitt erneut betreten Betreten Sie die Warteschlange und warten Sie.
36. Implementierungsmethode der Multiprozesssynchronisierung:
1) synchronisiertes Schlüsselwort
2) Warten ()-Methode und notify()-Methode
3) Lock
37. Methoden zum Beenden von Threads: stop()-Methode und suspend()-Methode.
Java bietet zwei Arten von Threads: Daemon-Thread (Dienstprozess) und Benutzerprozess.
38. So greifen Sie über JDBC auf die Datenbank zu:
1) Laden Sie den JDBC-Treiber und kopieren Sie das JDBC-Treiber-JAR-Paket nach lib
2) Laden Sie den JDBC-Treiber
3) Erstellen Sie eine Datenbankverbindung
4) Erstellen Sie ein Statement-Objekt oder PrepareStatement-Objekt. Wird für Datenbankoperationen verwendet
5) SQL-Anweisungen ausführen
6) Auf das Ergebnissatz-ReaultSet-Objekt zugreifen
7) Die ReaultSet-Anweisung schließen in der Reihenfolge Verbindung.
39. Die Funktion der Class.forName()-Methode besteht darin, die Klasse in die JVM zu laden.
Bevor JDBC zum Herstellen einer Verbindung zur Datenbank verwendet wird, wird im Allgemeinen die Methode Class.forName („com.mysql.jdbc.Driver“) aufgerufen, um den Treiber zu laden.
Anweisung wird verwendet, um eine einfache SQL-Anweisung ohne Parameter auszuführen und das Objekt des von ihr generierten Ergebnisses zurückzugeben. Bei jeder SQL-Ausführung kompiliert die Datenbank die SQL-Anweisung.
PrepareStatement kann mit Parametern ausgeführt werden. Höhere Effizienz, bessere Lesbarkeit, bessere Wartbarkeit und bessere Sicherheit
40 JDBC bietet getString(), getInt(), getIData() und andere Methoden zum Abrufen von Daten aus ResultSet.
41. Die Anzahl der Verbindungspools ist bei der Verbindung mit JDBC begrenzt. Stellen Sie daher sicher, dass Sie nicht mehr verwendete Verbindungen freigeben.
createStatement und PrepareStatement werden am besten außerhalb der Schleife platziert, und die Anweisung muss rechtzeitig nach der Verwendung geschlossen werden. Am besten schließen Sie die Anweisung sofort nach der einmaligen Ausführung vonexecuteQuery.
42. Hibernate ist ein Paket von JDBC. Die Datenbankverbindungsparameter werden in Form einer Konfigurationsdatei in XML geschrieben,
der endgültige Zugriff auf die Datenbank muss jedoch über JDBC erfolgen.
43. Hibernate ist ein Persistenzschicht-Framework, das die Informationen in der Tabelle auf XML abbildet und die XML-Datei dann der entsprechenden Persistenzklasse zuordnet.
Java Web
1. Die Rolle des Browsers:
1) Schließen Sie die Interaktion mit dem Server ab.
2) Schließen Sie die Analyse von HTML ab und zeigen Sie den Inhalt an, den Benutzer in intuitiven Informationen sehen müssen.
2. HTTP-Anfragemethoden sind: GET POST HEAD TRACE OPTIONS
GET: ist die einfachste Anfragemethode, die vom Server abgerufen wird vom Benutzer benötigt und als Antwort an den Client zurückgegeben. Serverseitige Informationen abrufen (Abfrage). Wenn Sie Daten hochladen müssen, fügen Sie diese am Ende der URL hinzu. Die Offenlegung der Daten ist nicht sicher genug und in ihrer Menge begrenzt.
POST: Zusätzlich zum Abrufen von Ressourcen vom Server können Sie auch Daten auf den Server hochladen. Die hochgeladenen Daten werden in der URL nicht im Klartext angezeigt und es können große Datenmengen hochgeladen werden, die für den Benutzer unsichtbar sind
3. Servlet:
ist in der Java-Sprache geschrieben. Das Serverprogramm wird im Servlet-Container auf dem Webserver ausgeführt. Seine Hauptfunktion besteht darin, ein Anforderungs- und Antwortdienstmodell bereitzustellen und dynamische Webinhalte zu generieren.
Wenn der Webserver eine Anfrage für ein Servlet erhält, übergibt er diese zur Verarbeitung an den Tomcat-Container und der Container antwortet auf die Anfrage, indem er die Servlet-Methode (doGet() doPost) aufruft ()).
Schritte:
Eine Servlet-Anfrage initiieren——>Der Webserver wird zur Verarbeitung an den Container übergeben——>Der Container erstellt zwei Objekte HttpServletResponse HttpServletRequire ——>Erstellen Sie einen separaten Thread und übergeben Sie die beiden Objekte in Form von Parametern an den Thread -> Der Thread-Container ruft doGet() oder doPost() in der service()-Methode des Servlets auf, um die Antwort abzuschließen -> Der Container gibt die Antwortnachricht in Form von HTML an den Client zurück.
4. Servlet-Lebenszyklus:
Laden——>Erstellen——> —> Deinstallieren
5. Vorteile von JSP:
JSP: HTML-Datei mit eingebettetem Java-Code. Löst hauptsächlich die Trennung von Servlet und HTML. Separate Geschäftslogik und Ansichten.
6. Ähnlichkeiten und Unterschiede zwischen JSP und Servlet:
Dasselbe:
Im Wesentlichen handelt es sich bei beiden um Servlets Dateien, solange die Arbeit, die JSP ausführen kann, mithilfe von Servlet abgeschlossen werden kann, wird schließlich in ein Servlet umgewandelt, das ausgeführt werden kann.
Anders:
Servlet befindet sich in der Kontrollschicht, hauptsächlich zur Prozesssteuerung und Geschäftsabwicklung. JSP befindet sich in der Ansichtsebene und wird hauptsächlich zur Anzeige verwendet.
Servlet verfügt nicht über integrierte Objekte. Die integrierten Objekte in JSP werden hauptsächlich über das HttpServletResponse-Objekt und das HttpServletRequire-Objekt abgerufen.
7. MVC-Modell:
Modellschicht (M): implementiert Systemgeschäftslogik. JavaBean oder EJB
Ansichtsebene (V): realisiert Benutzerinteraktion. JSP
Kontrollschicht (C): Realisiert die logische Steuerung von Ansichten und Modellen. Servlet
8. Kontrollschicht:
Der Controller empfängt Benutzereingaben und ruft das Modell und die Ansicht zur Vervollständigung auf.
Der Controller selbst gibt nichts aus und führt keine Verarbeitung durch.
Empfangen Sie einfach die Anfrage und entscheiden Sie, welches Modell zur Verarbeitung der Anfrage verwendet werden soll, und entscheiden Sie, welche Ansicht zur Anzeige der Rückgabedaten der Modellverarbeitung verwendet werden soll
9 . Vorteile von MVC:
1) Geringe Kopplung, um eine Trennung von Ansichtsschicht und Logikschicht zu erreichen.
2) Hohe Wiederverwendbarkeit und Anwendbarkeit
3) Schnelle Bereitstellung
4) Einfache Wartung
10. Was ist der Unterschied zwischen Weiterleitung und Umleitung in Servlet:
Weiterleitung ist eine Umleitung innerhalb des Servers und greift direkt auf die URL der Zieladresse zu bleibt unverändert.
Umleitung: Client-Umleitung, vollständiger Sprung, Adressänderung.
11. Integrierte JSP-Objekte:
1) require (request object)
2) Antwort (Antwortobjekt)
3) pageContext (Seitenkontextobjekt)
4) Sitzung (Sitzungsobjekt)
5) Anwendung (Anwendungsobjekt)
6) Out (Ausgabeobjekt)
7) Config (Konfigurationsobjekt)
8) Seitenobjekt)
9) Ausnahme (Ausnahmeobjekt)
12. Methoden des Anforderungsobjekts:
1 ) setAttribute (String-Name, Objekt) legt den Attributwert von Name fest
2) getAttribute (String-Name) ruft den Attributwert von Name ab
3) getParameter (String-Name) Rufen Sie die vom Benutzer übermittelten Daten ab. Der Name entspricht dem Namen des Formulars
4) getSession() wird verwendet, um die mit der Anfrage verknüpfte Sitzung abzurufen
13. JSP-Aktionen in:
1) JSP:include wird verwendet, um eine Datei einzufügen, wenn die Seite angefordert wird
2) Jsp: useBean wird verwendet, um eine Javabean zu instanziieren
3) Jsp:setProperty wird verwendet, um die Eigenschaften des instanziierten Bean-Objekts festzulegen
4) Jsp:getProperty wird verwendet, um abzurufen die Eigenschaften des instanziierten Bean-Objekts
5) Jsp:foward wird verwendet, um die Anfrage zu einer anderen Seite zu springen
14 Anweisungen einschließen und Aktionen einschließen JSP
Befehl: <% @include file =“test.jsp „%>
Aktion:
15. Sitzungsverfolgungstechnologie:
Überwachen Sie die kontinuierlichen Anfragen desselben Benutzers an den Server und erhalten Sie Antworten.
1) Seite für Seite
2) Eine Anfrage anfordern
3) Sitzung für eine Benutzererfahrung
4) Anwendung Die gesamte Webanwendung
16. String-Kodierung: GBK, UTF-8
17 ist Ajar
asynchrones js und XML.
Kombiniert Java-Technologie, JS-Technologie und XML-Technologie. Client-Technologie
Funktion: Verbessern Sie die Interaktivität der Seite, indem Sie eine kleine Dateninteraktion mit dem Server durchführen, ohne die Seite zu aktualisieren, reduzieren Sie die Reaktionszeit und verbessern Sie die Benutzererfahrung
18 und Der Unterschied zwischen Sitzungen:
Sitzung: bezieht sich auf die Lösung und Speicherstruktur, die zur Aufrechterhaltung des Status zwischen dem Client und dem Server verwendet wird.
Cookie: Eine kleine Datei, die vom Webserver im Browser des Benutzers gespeichert wird.
19. Webserver: Empfängt Anfragen von Clients und leitet die Verarbeitungsergebnisse der Anfragen dann an den Client zurück
Zwei große Web-Server Server: IIS Apache.
20. Webcontainer: TomcatJBoss
ist für die Bereitstellung von HTTP-Anforderungs- und Antwortobjekten für das Servlet verantwortlich und ruft doGet() über doPost auf ()-Methode Benutzeranfragen verarbeiten.
21. Kategorien von EJB:
1) Session Bean implementiert serverseitige Geschäftslogik und koordiniert die Interaktion zwischen Beans
2) Entity Bean (Entity Bean) Datenkomponente stellt Datensätze in der Datenbank dar
3) Message Bean (Message-driven Bean) verarbeitet asynchrone Nachrichten, die im Allgemeinen nicht von Benutzern aufgerufen werden
22. Ähnlichkeiten und Unterschiede zwischen EJB und Javabean:
1) EJB: Wird hauptsächlich für die serverseitige Entwicklung verwendet, Javabean wird hauptsächlich in verwendet Kundenentwicklung.
2) EJB-Komponenten können in EJB-Containern bereitgestellt werden. Auf die Komponenten kann nicht direkt zugegriffen werden, aber über den Container können keine bereitgestellt werden.
3) EJB ist ein Verteiltes Objekt, kann aus der Ferne aufgerufen werden, Javabean jedoch nicht und kann nur intern aufgerufen werden
23. Die Rolle von EJB:
1 ) Enterprise Bean Provider (Entwickler von Unternehmenskomponenten)
2) Application Assembler (Application Composer)
3) EJB Deployer (EJB-Deployer)
4) EJB Sever Provider (EJB-Serveranbieter)
5) EJB Container Provider (EJV-Containeranbieter)
6) Systemadministrator (Systemadministrator)
24. Arbeitsmechanismus des Datenbankverbindungspools:
Grund:
1) Das Einrichten einer Datenbank ist sehr zeitaufwändig -aufwändiger Vorgang
2) Die Anzahl der Datenbankverbindungen ist begrenzt
Der Datenbankverbindungspool ist für die Zuweisung, Verwaltung und Freigabe von Datenbankverbindungen verantwortlich. Wenn ein Client auf die Datenbank zugreifen muss, kann er die Datenbankverbindung direkt aus dem Pool abrufen, ohne eine Verbindung herzustellen, und sie als ausgelastet markieren.
25. Optimierungsmethoden für die JAVAEE-Entwicklung:
1) Design optimieren
2) Probieren Sie so viel aus wie möglich Datenbankverbindung verwenden
3) Framework verwenden
4) I/O optimieren
5) Abfrage optimieren
26. Vorteile des Struts-Frameworks:
1) Verwirklichen Sie die Trennung von Leistung und Logik
2) Stellen Sie eine Seitennavigation bereit Funktion
3) Formularvalidierung bereitstellen
4) Datenbankverbindungspool bereitstellen
5) Ausnahmebehandlungsmechanismus bereitstellen
6) Unterstützung der Internationalisierung
27. Die Datenüberprüfung ist unterteilt in:
1) Formularüberprüfung
2) Überprüfung der Geschäftslogik
28. Internationalisierung:
Das Programm zeigt entsprechende Informationen für verschiedene Regionen an, ohne den internen Code zu ändern . Die Schnittstelle
29. Was ist Umkehrung der Kontrolle:
wird auch Abhängigkeitsinjektion genannt, eine Designidee, die die Kopplungsbeziehung zwischen reduziert Objekte.
Damit die obere Schicht nicht von der Schnittstelle der unteren Schicht abhängt und der Anrufer (Kind) den Angerufenen (Eltern) bestimmt. Entkopplung und Zweck werden durch die Injektion eines instanziierten Objekts erreicht.
30. Spring Framework
bietet gute Unterstützung für Lightweight-Loc und bietet außerdem eine sehr gute Kapselung der AOP-Technologie.
31. Hibernate-Framework, Persistenzschicht-Framework
Realisiert die Zuordnung von Java-Objekten und relationalen Datenbankdatensätzen und vereinfacht so den Zugriff für Entwickler die Datenbank. Verbessern Sie die Effizienz der Softwareentwicklung
Jeder, der JDBC verwendet, kann Hibernata verwenden
Methoden zur Leistungsverbesserung:
1) Lazy Loading
2) Caching-Technologie
3) Abfrageanweisungen optimieren
32. Paging implementieren:
1) Hibernates eigener Paging-Mechanismus
2) Verwenden Sie SQL-Anweisungen, um ihn zu implementieren, unter Verwendung des limit-Schlüsselworts
33. SSH:
Struts-Implementierungsansichtsteil
Hibernate-Implementierungsmodellteil
Spring-Implementierungsgeschäftsteil
Mit dem SSH-Framework können nicht nur Ansicht, Controller und Modell vollständig getrennt werden, sondern auch die Geschäftslogik und die Datenpersistenzschicht können getrennt werden
Zusammenfassung
Das obige ist der detaillierte Inhalt vonZusammenfassende Analyse der Java-Grundkenntnisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!