GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — JavaGuide/docs/java/jvm at main · NotAFlightRisk/JavaGuide

Expand file tree

/

jvm

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
 
 
/

jvm

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
pictures
pictures
 
 
README.md
README.md
 
 
class-file-structure.md
class-file-structure.md
 
 
class-loading-process.md
class-loading-process.md
 
 
classloader.md
classloader.md
 
 
jdk-monitoring-and-troubleshooting-tools.md
jdk-monitoring-and-troubleshooting-tools.md
 
 
jvm-garbage-collection.md
jvm-garbage-collection.md
 
 
jvm-in-action.md
jvm-in-action.md
 
 
jvm-interview-questions.md
jvm-interview-questions.md
 
 
jvm-intro.md
jvm-intro.md
 
 
jvm-parameters-intro.md
jvm-parameters-intro.md
 
 
memory-area.md
memory-area.md
 
 

README.md

Outline
title JVM 专题:内存区域、类加载、垃圾回收、参数调优与线上排查
description JVM 面试与性能调优学习路线,涵盖 Java 内存区域、类文件结构、类加载、垃圾回收、JVM 参数、JDK 监控工具和线上问题排查。
category Java
tag
Java
JVM
Java面试
sitemap
changefreq priority
weekly
0.9
head
meta
name content
keywords
JVM,JVM面试题,Java内存区域,类加载,类加载器,垃圾回收,GC,JVM参数,JDK监控工具,OOM,性能调优

JVM 是 Java 后端绕不开的核心基础。学习 JVM 的目标不是背概念,而是能解释对象如何创建和回收、类如何加载、GC 如何影响应用、参数如何配置,以及线上 OOM、频繁 GC、CPU 飙高等问题应该如何排查。

适合谁看

  • 想系统学习 JVM 的 Java 后端开发者。
  • 准备 JVM 内存、类加载、GC、参数调优和线上排查相关面试题的同学。
  • 已经参与过线上服务维护,但对 GC 日志、堆转储、线程栈和 JDK 工具不熟的读者。
  • 想继续深入 Spring、Netty、中间件或性能优化的工程师。

学习重点

  • JVM 运行时内存区域、对象创建、对象访问和 OOM 场景。
  • 类文件结构、类加载过程、类加载器和双亲委派模型。
  • 垃圾回收基础、对象存活判断、垃圾收集算法和主流垃圾收集器。
  • JVM 参数、GC 日志、堆转储、线程栈和常见 JDK 监控诊断工具。
  • 线上问题排查的基本路径:现象观察、指标采集、工具分析、原因定位和优化验证。

建议阅读顺序

  1. 准备面试时先看 JVM 常见面试题总结,找出自己答不完整的模块;系统学习可以从下一步开始。
  2. 大白话带你认识 JVM:先建立 JVM 的整体认知。
  3. Java内存区域详解(重点):理解运行时数据区和常见 OOM 场景。
  4. 类文件结构详解、类加载过程详解、类加载器详解(重点):掌握类从 .class 到可运行对象的过程。
  5. JVM垃圾回收详解(重点):系统学习 GC 基础、算法和垃圾收集器。
  6. 最重要的 JVM 参数总结、JDK 监控和故障处理工具总结、Java 后端线上问题排查:进入参数配置和线上实践。

核心文章

JVM 基础与内存

  • JVM 常见面试题总结:按内存、类加载、GC、参数工具和线上排查整理高频问题。
  • 大白话带你认识 JVM:用整体视角理解 JVM 的定位和组成。
  • Java内存区域详解(重点):讲解程序计数器、虚拟机栈、本地方法栈、堆、方法区和直接内存。
  • 类文件结构详解:理解魔数、版本号、常量池、访问标志、字段表、方法表和属性表。

类加载

  • 类加载过程详解:梳理加载、验证、准备、解析、初始化、使用和卸载。
  • 类加载器详解(重点):理解启动类加载器、扩展类加载器(JDK 8)/平台类加载器(JDK 9+)、应用类加载器和双亲委派模型。

垃圾回收与调优

  • JVM垃圾回收详解(重点):理解对象存活判断、引用类型、垃圾收集算法、分代收集和主流垃圾收集器。
  • 最重要的JVM参数总结:整理堆大小、GC 日志、OOM 转储、垃圾收集器和诊断相关参数。
  • JDK监控和故障处理工具总结:介绍 jps、jstat、jmap、jstack、jcmd、JConsole、VisualVM、JMC 等工具。
  • Java 后端线上问题排查:从告警确认、止血留证开始,串起 CPU、内存、GC、线程池、连接池、慢 SQL、Redis 和消息积压的排查过程。

高频问题

  • JVM 运行时内存区域如何划分?哪些区域线程私有?
  • 堆和方法区分别存放什么?直接内存会不会 OOM?
  • 对象是如何创建的?对象访问定位有哪几种方式?
  • 类加载过程有哪些阶段?初始化阶段什么时候触发?
  • 什么是双亲委派模型?为什么需要它?
  • 如何判断对象是否可以被回收?强软弱虚引用有什么区别?
  • Minor GC、Major GC、Full GC 有什么区别?
  • G1、ZGC、Shenandoah 分别适合什么场景?
  • 常用 JVM 参数有哪些?线上如何保留 GC 日志和 OOM dump?
  • CPU 飙高、频繁 Full GC、内存泄漏应该如何排查?

相关专题

  • Java 知识体系
  • Java 基础专题
  • Java 并发编程专题
  • Java IO 专题
  • 操作系统
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.