这是一张 Java 的思维导图,整体分为两大分支:jvm(Java 虚拟机)与 jvm GC(垃圾回收)。JVM 分支主要讲解内存划分,分为堆内存与直接内存;堆内存又包含线程共享区域,存放 Class 相关元数据的永久代(元空间),堆进一步划分为新生代、老年代;直接内存属于堆外内存,不受堆容量管控,由 ByteBuffer 完成操作。另一大分支为 JVM 垃圾回收 GC,首先梳理垃圾判定的核心问题:何时回收、回收哪些对象;对象存活判定包含引用计数法与可达性分析,分析 GC 的各类引用类型。接着介绍常见垃圾回收算法:标记清除算法实现简单但容易产生内存碎片;复制算法将内存划分为两块空间,解决碎片问题但可用内存缩水;标记整理算法移动存活对象,消除碎片;分代收集算法区分新生代、老年代,针对不同区域选用适配回收策略。之后讲解主流垃圾收集器,包括 Serial 串行收集器,其单线程执行、暂停全部用户线程;还有 Parallel 多线程收集器,依靠多线程提升回收效率,不同收集器拥有各自的适用场景、优缺点与版本特性。整套思维导图系统梳理 JVM 内存布局以及垃圾回收判定、回收算法、收集器的相关知识点。无论 Java 后端学习者、后端开发工程师还是备考面试的技术学习者,都可以借助这份思维导图梳理 JVM GC 相关知识体系。
提示: 本内容由社区用户上传并分享。平台不对内容的真实性、合法性、知识产权归属及是否侵害第三方权利进行事前审核或保证。本内容可能包含受版权保护的图片、字体或其他第三方素材,使用前请自行确认授权范围。