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.