
JVM
文章平均质量分 95
咱也不会,也不敢瞎说
左灯右行的爱情
时不时会把自己学习笔记搬运到csdn,欢迎随时来看看.(*╹▽╹*)
展开
-
JVM-类加载机制
对于Java开发者来说,我们每天都在编写.java文件,然后通过编译器将其编译成.class文件。那么,这些.class文件是如何被加载到Java虚拟机(JVM)中,并最终变成我们可以在程序中使用的对象和方法的呢?这个过程就是类加载(Class Loading)。理解类加载机制,不仅仅是满足技术好奇心,更是解决实际问题的关键。你是否遇到过或异常?是否好奇为什么 Tomcat 等Web容器可以隔离不同应用的类库?是否想了解热部署、模块化等高级特性是如何实现的?这些问题的答案,都深藏在类加载机制之中。类加载。原创 2025-04-24 10:35:53 · 1105 阅读 · 0 评论 -
深入理解 G1 GC:已记忆集合(RSet)与收集集合(CSet)详解
RSet 解决了“如何找到指向特定 Region 的引用”的问题,使得 G1 可以独立评估每个 Region 的存活性。但 G1 并不会在一次 GC 中回收所有可回收的 Region。为了满足用户设定的暂停时间目标,G1 必须精心选择一部分 Region 来构成单次 STW 回收的集合。这个集合就是收集集合 (Collection Set, CSet)。在一次 GC 暂停 (STW)期间,G1 将要回收(Evacuate)的所有 Region 的集合。原创 2025-04-23 11:46:58 · 943 阅读 · 0 评论 -
深入JVM内存分配-本地分配缓冲(LAB)与TLAB详解
虽然本文重点是 TLAB,但简单了解 GCLAB 和 PLAB 有助于我们理解 LAB 思想的一致性。在使用复制算法(如 Parallel Scavenge 的 Minor GC, G1 的 Mixed GC)或标记-复制算法进行垃圾回收时,多个 GC 线程需要将存活的对象从源区域(如 Eden, Survivor From)复制到目标区域(如 Survivor To, Old Gen)。原创 2025-04-23 11:23:00 · 635 阅读 · 0 评论 -
JVM-卡表
卡表本质上是一个字节数组(byte[]。它将整个堆内存划分成固定大小的连续区域,每个区域称为一个“卡页(Card Page)”或“卡(Card)”(通常是 2 的幂次方大小,如 512 字节)。卡表中的每一个字节都对应堆内存中的一个卡页。画一个堆内存条,下面对应一个卡表数组,展示其映射关系。卡表中每个字节的值代表其对应卡页的状态。最简单的实现中,有两种状态:通常用 0 表示,意味着对应的卡页“可能没有”需要关心的引用(具体含义看应用场景)。原创 2025-04-23 09:56:34 · 985 阅读 · 0 评论 -
深度学习与总结JVM专辑(七):垃圾回收器—CMS(图文+代码)
在Java虚拟机(JVM)的众多垃圾收集器(Garbage Collector, GC)中,CMS(Concurrent Mark Sweep)占有特殊的历史地位。虽然它在较新的JDK版本中已被标记为废弃(Deprecated)并最终移除,但理解CMS的设计理念、工作原理以及优缺点,对于深入掌握JVM内存管理、理解后续更先进的GC(如G1、ZGC)的演进思路,仍然具有非常重要的价值。CMS的核心目标是什么?简单来说,CMS的设计目标是获取尽可能短的回收停顿时间.原创 2025-04-22 08:21:26 · 1392 阅读 · 0 评论 -
深度学习与总结JVM专辑(六):JVM字节码执行引擎
加油原创 2022-11-30 11:59:57 · 1136 阅读 · 2 评论 -
深度学习与总结JVM专辑(五):类加载机制
加油原创 2022-11-29 20:56:00 · 773 阅读 · 0 评论 -
深度学习与总结JVM专辑(四):类文件结构(图文+代码)
我需要糖分原创 2022-11-29 14:50:14 · 446 阅读 · 0 评论 -
深度学习与总结JVM专辑(三):垃圾回收器—G1(图文+代码)
我需要糖分原创 2022-11-26 23:26:16 · 3877 阅读 · 0 评论 -
深度学习与总结JVM专辑(二):垃圾回收基础(图文+代码)
加油原创 2022-11-21 11:09:05 · 1247 阅读 · 0 评论 -
深度学习与总结JVM专辑(一):基础介绍&&内存结构(图文+代码)
整理总结原创 2022-11-19 09:29:22 · 1669 阅读 · 2 评论