explaingit

doocs/jvm

11,088JavaScriptAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

A Chinese-language study guide to JVM internals, covers memory layout, garbage collection, class loading, bytecode structure, and performance tuning in plain, summarized notes.

Mindmap

mindmap
  root((JVM Guide))
    Topics covered
      Memory layout
      Object creation
      Garbage collection
      Class loading
      Bytecode structure
    Performance
      GC algorithm choices
      Tuning parameters
    Resources
      Website version
      WeChat PDF download
      Companion book
    Community
      Doocs open source
      Chinese developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study JVM garbage collection algorithms and memory layout to prepare for a Java developer interview.

USE CASE 2

Learn how class loading works at runtime to debug class-not-found errors in a Java application.

USE CASE 3

Review JVM performance tuning options before optimizing a slow Java service.

Tech stack

JavaJVMHotSpot

Getting it running

Difficulty · easy Time to first run · 5min
Creative Commons Attribution-ShareAlike 4.0, free to share and adapt as long as you credit the author and share under the same license.

In plain English

This repository is a Chinese-language study guide covering how the Java Virtual Machine (JVM) works at a low level. The JVM is the software layer that runs Java programs, and understanding its internals is useful for developers who want to write more efficient Java code or diagnose performance problems. The guide is organized as a series of documents covering ten topics: how the JVM lays out memory, how objects are created and stored inside the HotSpot JVM (the most widely used Java runtime), how garbage collection works and which algorithms it uses, how the JVM decides when and how to reclaim memory, how to tune JVM performance, how compiled Java class files are structured, and how the JVM loads classes at startup and at runtime. The content is described in the README as a summary of points the author considers most important to know, not a complete reference. Readers who want a deeper treatment are pointed to a well-known Chinese book on JVM internals. A website version of the guide is available, and following a WeChat public account associated with the project lets readers download a PDF version. The repository is part of the Doocs open-source community, a Chinese developer learning community that maintains several other study guides on topics including advanced Java, algorithm problems, and framework source code analysis. The license is Creative Commons Attribution-ShareAlike 4.0 International.

Copy-paste prompts

Prompt 1
Based on the JVM study guide by doocs, explain to me how the HotSpot JVM lays out memory, what are the different regions and what gets stored in each?
Prompt 2
Walk me through the garbage collection algorithms covered in the doocs jvm guide. Which one is best for low-latency applications and why?
Prompt 3
I want to understand Java class loading. Using the doocs jvm guide as a reference, explain the three phases and when classes get loaded at runtime.
Open on GitHub → Explain another repo

← doocs on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.