This document provides a comprehensive knowledge summary for learning Java, structured around a technology stack mind map. It aims to guide Java learners through a structured path, minimizing detours and clarifying advancement directions. The content covers various aspects, from design patterns and concurrency to JVM internals, frameworks, and distributed systems. Star this repository if you find it helpful!
This is a summary of my knowledge of learning Java. I will improve the entire knowledge structure step by step based on the technology stack mind map below.
I hope that by sharing it with you who are learning Java, you can avoid some detours and find the direction for advancement.
If you find it useful, give it a Star and encourage it~
Icon link production comes from: https://shields.io/
Online brain map production: https://www.processon.com/
Directory (make good use of Ctrl+F)
Commonly used design patterns
Teach you how to use strategy pattern to solve multiple if-else
An article to understand the agency model
Teach you to create objects elegantly using the builder (generator) pattern
Observer pattern-Application of Spring event mechanism
Application of decorator pattern and IO stream
Prototype pattern and cloning technology
Adapter pattern and SpringMVC
Interviewer: Brother, let’s talk about the chain of responsibility model.
The art of concurrent programming
The interviewer asked me what is JMM
For multi-thread development, first learn about thread pools
Pessimistic locking and optimistic locking in concurrent programming
Detailed explanation of AQS that must be learned in concurrent programming
Stick to the underlying principle of the synchronized keyword
Review concurrency knowledge, starting with ThreadLocal
JVM core knowledge
Explain in detail! From JVM to class loader
Let’s talk about garbage collection (GC) in JVM
What to do with OOM, teach you how to generate dump files and view them
Caching service
In-depth exploration of Redis’s five basic data types
Redis-cache avalanche, cache breakdown, cache penetration
Playing with Bloom filters is actually very simple
How Redis implements distributed locks
Data Structures and Algorithms
Summary of eight classic sorting algorithms (with animation demonstration)
Classic leetcode algorithm question sharing (string)
Ten consecutive posts, Leetcode algorithm question sharing (hash table)
Excellent technical framework that must be learned
SpringMVC global exception handling mechanism
5,000 words summary of SpringMVC, I think you will need it
Hardcore! Analyzing Mybatis source code from the design pattern
What did SpringBoot do at startup? You’ll understand after reading this!
What design patterns does Spring use?
Mybatis-Plus, smells so good!
Mybatis-Plus, BaseMapper source code analysis
How to integrate multiple data sources with Mybatis-Plus?
mybatis-plus multiple data source analysis
network programming
NIO from getting started to kicking the door
Attack NIO! Reactor mode!
For a super detailed introduction to Netty, just read this article!
Netty advanced packaging and unpacking problems
If you don’t understand, just learn, what is JWT?
distributed
Getting started with ZooKeeper, just read this article
Explain in detail! From Flash Sale Chat to ZooKeeper Distributed Lock
Three thousand words to help you understand the XXL-JOB task scheduling platform
Apollo configuration center, configuration can also be "intelligent"
Don’t know what SkyWalking is? Look at this!
What is ELK? You’ll understand after reading this!
A super detailed introduction to Sentinel
This wave~ This wave is multi-environment configuration
Microservice architecture
SpringCloud Microservice: Registration Center
SpringCloud microservices: OpenFeign
Gateway is very important, learn Gateway
Gateway Service Gateway Filter
MySQL database
For a super detailed introduction to canal, just read this article
Canal+Kafka realizes data synchronization between MySQL and Redis
To learn how to separate reading and writing in MySQL master-slave replication, just read this article
Want to master SQL optimization? Then learn to explain!
Three types of MySQL logs you must know
What are dirty reads, non-repeatable reads, and phantom reads?
Let’s talk about the understanding of MySQL’s MVCC
What is Snowflake ID?
Talk about how MYSQL index improves query efficiency
middleware
Super detailed introduction to RabbitMQ
Explain in detail! RabbitMQ prevents data loss
Let me get you started with Kafka. The more you know, the more you don’t know!
Getting started with Pulsar middleware
Java basics
The basics of Java are not simple, let’s talk about enumerations
How to customize annotations in Java?
In-depth understanding of String class
The basics of Java are not simple. Let’s talk about the connection between hashCode() and equals()
The basics of Java are not simple, generics are very important!
big data
Learning big data starts with installing Hadoop (stand-alone version)
Learn MapReduce with WordCount
A few small examples about MapReduce
Pitfalls encountered
Pitfalls of List collection
Sharing of face-to-face experiences
Remember a summary of interview questions for advanced Java development