JD.com kaufen Dangdang kaufen
Alle Codes in der Spalte werden auf Basis von Java 8 + Spring Boot 2.2.1.RELEASE + Spring Cloud Greenwich.SR4 + Spring Data Moore-SR4 entwickelt und das Abhängigkeitsmanagement basiert auf Maven.
Bei jedem Fall handelt es sich um eine unabhängige SpringBoot- oder Java-Befehlszeilenanwendung, die unabhängig voneinander gestartet werden kann, um gegenseitige Beeinträchtigungen zu vermeiden. Sie teilen sich jedoch ein Maven-POM.
Führen Sie nach dem Herunterladen des Quellcodes zunächst den Befehl docker-compose up im Stammverzeichnis aus, um verwandte MySQL-, Redis-, ES-, RabbitMQ- und andere Systeme über Docker auszuführen, und starten Sie dann die Anwendung.
Der größte Teil der Spalte basiert nur auf einer Komponente, MySQL. Wenn Sie Schwierigkeiten beim Starten von Docker-Compose haben, können Sie zunächst die relevanten Komponenten in docker-compose.yml kommentieren, z. B. das Kommentieren von ES und RabbitMQ, und es dann starten, wenn Sie es tun Sie müssen es später im Designkapitel verwenden und gleichzeitig das entsprechende SpringBoot Starter-Modul in pom.xml löschen.
Im Quellcode-Stammverzeichnis gibt es eine readme.md-Markdown-Datei. Es gibt ein Verzeichnis, das den Speicherort des Quellcodes für jeden Artikel auflistet. Gleichzeitig gibt es unter jedem Quellcode-Paket eine readme.md-Datei, in der jedes aufgelistet ist Artikel. Der Quellcode-Paketname jedes Abschnitts in diesem Artikel.
In den meisten Fällen werden im Quellcode falsche und richtige Benennungsmethoden verwendet, um eine falsche Implementierung und eine korrekte Implementierung darzustellen. Zum Verständnis können Sie die Implementierung mit dem Inhalt des Buches vergleichen.
In einigen Fällen (z. B. im SQL-Indexartikel) werden Testdaten basierend auf der aktuellen Zeit generiert. Daher kann nicht garantiert werden, dass die Testergebnisse im Artikel lokal reproduziert werden können, und Sie müssen die Testfälle selbst anpassen.
Klicken Sie auf den Link, um den Codeordner für jeden Abschnitt aufzurufen
In jedem Ordner befindet sich außerdem eine Datei readme.md, in der die Quellcodeordner jedes Abschnitts in jedem Abschnitt aufgeführt sind.
[Denken] stellt den Code dar, der beim Denken und Diskutieren eine Rolle spielt
[Erweitert] stellt den Code dar, der am erweiterten Lesen beteiligt ist
[Ergänzung] Stellt weitere andere Codes dar, die nicht im Buch erscheinen.
1.0: java8
2.1 Die Verwendung einer gleichzeitigen Tool-Bibliothek bedeutet nicht, dass es keine Thread-Sicherheitsprobleme gibt: concurrenttool
2.2 Code-Sperre: Lassen Sie das „Sperren“ nicht zur Sorge werden: Sperren
2.3 Thread-Pool: Die am häufigsten verwendete und fehleranfälligste Komponente im Geschäftscode: Threadpool
2.4 Verbindungspool: Lassen Sie sich vom Verbindungspool nicht verletzen: Verbindungspool
2.5 HTTP-Aufrufe: Haben Sie Zeitüberschreitungen, Wiederholungsversuche und Parallelität berücksichtigt: httpinvoke
2.6 20 % der deklarativen Spring-Transaktionen im Geschäftscode werden möglicherweise nicht korrekt verarbeitet: Transaktion
2.7 Datenbankindex: Index ist kein Allheilmittel: sqlindex
2.8 Das Thema Gleichheit: So stellen Sie fest, dass Sie im Programm gleichberechtigt sind
2.9 Numerische Berechnungen: Achten Sie auf Genauigkeit, Rundung und Überlaufprobleme: numerische Berechnungen
2.10 Sammlungsklasse: Listenoperation voller Fallstricke: Sammlung
2.11 Nullwertverarbeitung: unklarer Nullwert und störender Nullzeiger: Nullwert
2.12 Ausnahmebehandlung: Lassen Sie sich nicht blind machen, wenn etwas schief geht: Ausnahme
2.13 Protokollierung: Protokollierung ist nicht so einfach wie Sie denken: Protokollierung
2.14 Datei-IO: Es ist nicht einfach, effizientes und korrektes Lesen und Schreiben von Dateien zu erreichen: io
2.15 Serialisierung: Sind Sie immer noch dieselbe Person?
2.16 Nutzen Sie die Datums- und Zeitklassen von Java 8 sinnvoll und vermeiden Sie einige der „dritten alten“ Fallstricke: datetime
2.17 Denken Sie nicht, dass OOM mit „Automatikgetriebe“ unmöglich ist: oom
2.18 Welche Fallstricke gibt es, wenn Reflexion, Anmerkungen und Generika auf OOP: erweiterte Funktionen stoßen?
2.19 Spring Framework: IoC und AOP sind der Kern der Erweiterungen: springpart1
2.20 Spring Framework: Es hat uns viel Arbeit abgenommen und auch Komplexität gebracht: springpart2
3.1 Code-Duplizierung: Drei Tricks zur Lösung von Code-Duplizierung: redundanter Code
3.2 Schnittstellendesign: Die Sprache des Dialogs zwischen Systemen muss vereinheitlicht werden: Apidesign
3.3 Cache-Design: Caching kann das Tüpfelchen auf dem i sein oder das Ganze noch schlimmer machen: Cache-Design
3.4 Wenn der Geschäftscode geschrieben ist, bedeutet das, dass er für die Produktion bereit ist: Productionready?
3.5 Die asynchrone Verarbeitung ist einfach zu verwenden, aber es ist sehr einfach, sie falsch zu verwenden: asyncprocess
3.6 Datenspeicherung: Wie ergänzen und ergänzen sich NoSQL und RDBMS? :nosqluse
4.1 Datenquelle: Nichts auf der Clientseite ist vertrauenswürdig: Clientdaten
4.2 Sicherheit: Wenn es um Geld geht, müssen Sie Anti-Swipe, begrenzten und starken Schutz in Betracht ziehen: securitylastdefense
4.3 Daten und Code: Daten sind Daten, Code ist Code: Daten und Code
4.4 So speichern und übertragen Sie sensible Daten richtig: sensitivedata
5.1 Fehlerbehebungsroutinen zum Auffinden von Java-Anwendungsproblemen: N/A
5.2 Um Java-Probleme zu analysieren und zu lokalisieren, müssen Sie diese Tools sinnvoll nutzen: Fehlerbehebungstools
5.3 Einige Fallstricke bei der Migration von Java-Programmen von virtuellen Maschinen zu Kubernetes: N/A
Wenn Sie der Meinung sind, dass der Quellcode für Sie hilfreich ist, heißen wir Sie bei Star willkommen