Dieses Dokument bietet eine umfassende Wissenszusammenfassung zum Erlernen von Java, strukturiert um eine Technologie-Stack-Mindmap. Es zielt darauf ab, Java-Lernende durch einen strukturierten Weg zu führen, Umwege zu minimieren und die Weiterentwicklungsrichtungen zu verdeutlichen. Der Inhalt deckt verschiedene Aspekte ab, von Entwurfsmustern über Parallelität bis hin zu JVM Interna, Frameworks und verteilte Systeme Markieren Sie dieses Repository, wenn Sie es hilfreich finden!
Dies ist eine Zusammenfassung meiner Kenntnisse über das Erlernen von Java. Ich werde die gesamte Wissensstruktur Schritt für Schritt basierend auf der untenstehenden Technologie-Stack-Mindmap verbessern.
Ich hoffe, dass Sie durch die Weitergabe an diejenigen, die Java lernen, einige Umwege vermeiden und die Richtung für den Fortschritt finden können.
Wenn Sie es nützlich finden, geben Sie ihm einen Stern und ermutigen Sie es
Die Produktion der Icon-Links stammt von: https://shields.io/
Online-Erstellung einer Gehirnkarte: https://www.processon.com/
Verzeichnis (benutzen Sie Strg+F)
Häufig verwendete Designmuster
Bringen Sie Ihnen bei, wie Sie Strategiemuster verwenden, um mehrere Wenn-Sonst-Vorgänge zu lösen
Ein Artikel zum Verständnis des Agenturmodells
Bringen Sie Ihnen bei, Objekte mithilfe des Builder-Musters (Generator) elegant zu erstellen
Beobachtermuster – Anwendung des Spring-Ereignismechanismus
Anwendung von Dekoratormuster und IO-Stream
Prototypmuster und Klontechnologie
Adaptermuster und SpringMVC
Interviewer: Bruder, lass uns über das Chain-of-Responsibility-Modell sprechen.
Die Kunst der gleichzeitigen Programmierung
Der Interviewer fragte mich, was JMM sei
Informieren Sie sich bei der Multithread-Entwicklung zunächst über Thread-Pools
Pessimistisches Sperren und optimistisches Sperren bei der gleichzeitigen Programmierung
Detaillierte Erklärung von AQS, das in der gleichzeitigen Programmierung erlernt werden muss
Halten Sie sich an das Grundprinzip des synchronisierten Schlüsselworts
Überprüfen Sie die Parallelitätskenntnisse, beginnend mit ThreadLocal
JVM-Kernwissen
Erklären Sie es ausführlich! Von der JVM zum Klassenlader
Lassen Sie uns über Garbage Collection (GC) in JVM sprechen
Was Sie mit OOM tun können, zeigen Ihnen, wie Sie Dump-Dateien generieren und anzeigen
Caching-Dienst
Eingehende Untersuchung der fünf grundlegenden Datentypen von Redis
Redis-Cache-Lawine, Cache-Aufschlüsselung, Cache-Penetration
Das Spielen mit Bloom-Filtern ist eigentlich sehr einfach
Wie Redis verteilte Sperren implementiert
Datenstrukturen und Algorithmen
Zusammenfassung von acht klassischen Sortieralgorithmen (mit Animationsdemonstration)
Teilen von Fragen zum klassischen Leetcode-Algorithmus (Zeichenfolge)
Zehn aufeinanderfolgende Beiträge, Teilen von Fragen zum Leetcode-Algorithmus (Hash-Tabelle)
Hervorragender technischer Rahmen, der erlernt werden muss
SpringMVC globaler Ausnahmebehandlungsmechanismus
5.000 Wörter Zusammenfassung von SpringMVC, ich denke, Sie werden es brauchen
Hardcore! Analyse des Mybatis-Quellcodes anhand des Entwurfsmusters
Was hat SpringBoot beim Start gemacht? Sie werden es verstehen, nachdem Sie dies gelesen haben!
Welche Designmuster verwendet Spring?
Mybatis-Plus, riecht so gut!
Mybatis-Plus, BaseMapper-Quellcode-Analyse
Wie integriere ich mehrere Datenquellen mit Mybatis-Plus?
mybatis-plus Analyse mehrerer Datenquellen
Netzwerkprogrammierung
NIO vom Anfang bis zum Eintreten der Tür
Greife NIO an! Reaktormodus!
Für eine super detaillierte Einführung in Netty lesen Sie einfach diesen Artikel!
Netty fortgeschrittene Verpackungs- und Auspackprobleme
Wenn Sie es nicht verstehen, lernen Sie einfach: Was ist JWT?
verteilt
Um mit ZooKeeper zu beginnen, lesen Sie einfach diesen Artikel
Erklären Sie es ausführlich! Vom Flash Sale Chat bis zum ZooKeeper Distributed Lock
Dreitausend Wörter, die Ihnen helfen, die Aufgabenplanungsplattform XXL-JOB zu verstehen
Apollo-Konfigurationscenter, Konfiguration kann auch „intelligent“ sein
Sie wissen nicht, was SkyWalking ist? Schau dir das an!
Was ist ELK? Sie werden es verstehen, nachdem Sie dies gelesen haben!
Eine sehr detaillierte Einführung in Sentinel
Diese Welle ~ Diese Welle ist eine Konfiguration mit mehreren Umgebungen
Microservice-Architektur
SpringCloud Microservice: Registrierungscenter
SpringCloud-Mikrodienste: OpenFeign
Gateway ist sehr wichtig, lernen Sie Gateway
Gateway-Service-Gateway-Filter
MySQL-Datenbank
Für eine sehr ausführliche Einführung in den Kanal lesen Sie einfach diesen Artikel
Canal+Kafka realisiert die Datensynchronisation zwischen MySQL und Redis
Um zu erfahren, wie Sie Lesen und Schreiben bei der MySQL-Master-Slave-Replikation trennen, lesen Sie einfach diesen Artikel
Möchten Sie die SQL-Optimierung beherrschen? Dann lerne es zu erklären!
Drei Arten von MySQL-Protokollen, die Sie kennen müssen
Was sind Dirty Reads, nicht wiederholbare Reads und Phantom Reads?
Lassen Sie uns über das Verständnis von MySQLs MVCC sprechen
Was ist Snowflake-ID?
Sprechen Sie darüber, wie der MYSQL-Index die Abfrageeffizienz verbessert
Middleware
Super detaillierte Einführung in RabbitMQ
Erklären Sie es ausführlich! RabbitMQ verhindert Datenverlust
Lassen Sie mich Ihnen den Einstieg in Kafka erleichtern. Je mehr Sie wissen, desto mehr wissen Sie nicht!
Erste Schritte mit der Pulsar-Middleware
Java-Grundlagen
Die Grundlagen von Java sind nicht einfach, sprechen wir über Aufzählungen
Wie kann ich Anmerkungen in Java anpassen?
Vertiefendes Verständnis der String-Klasse
Die Grundlagen von Java sind nicht einfach. Lassen Sie uns über die Verbindung zwischen hashCode() und equal() sprechen.
Die Grundlagen von Java sind nicht einfach, Generika sind sehr wichtig!
Big Data
Das Erlernen von Big Data beginnt mit der Installation von Hadoop (Standalone-Version).
Lernen Sie MapReduce mit WordCount
Ein paar kleine Beispiele zu MapReduce
Aufgefallene Fallstricke
Fallstricke der Listensammlung
Persönlicher Erfahrungsaustausch
Denken Sie an eine Zusammenfassung der Interviewfragen für fortgeschrittene Java-Entwicklung