Introduction
A technical reference for backend and JVM-based systems.
You will find explanations of how things work and how to reason about them: Java core, concurrency, the JVM, Spring, databases, middleware, and distributed systems. The focus is on principles and trade-offs, not interview tricks or API lists.
How to use this site
If you are new to backend
- Start with the left sidebar: pick a topic that matches your goal.
- Open a category to see its article list; read in any order.
- Use the table of contents on the right to jump within long articles.
- Revisit sections when you need to clarify a concept.
If you already have experience
- Use the sidebar to go straight to the topic you care about.
- Skim the table of contents to find the section you need.
- Treat articles as references; no need to read end-to-end.
- Cross-refer between topics when designing or debugging.
How the content is organized
Articles are grouped by topic in the left sidebar. Each topic contains multiple articles; you can read them in any order. There is no required sequence.
- Java Core
- JVM & GC
- Spring
- Microservices & Spring Cloud
- Database (MySQL)
- MyBatis
- Redis
- Messaging (Kafka / RocketMQ / RabbitMQ)
- RPC (Dubbo)
- Distributed Systems
- System Design
- Java Concurrency
Learning principles over interview tricks
This site emphasizes
- Why a design or setting exists and what problems it solves
- Trade-offs and costs, not just features
- Understanding that lasts beyond memorizing syntax
- Practical reasoning for debugging and design
Rather than
- Trick questions or short interview answers
- Lists of framework APIs or flags
- Surface-level summaries without depth
About the author
Michael — Backend engineer with more than ten years of experience building and maintaining large-scale systems. Former Amazon engineer.
This site exists because the backend stack is complex and often under-documented. Sharing practical explanations helps readers and also serves as a personal consolidation of how things work. The focus is on concurrency, distributed systems, and system design — areas that are easy to use superficially but hard to fully understand.
Where to start
Suggested first reads. Pick by topic or curiosity.