
JVM
文章平均质量分 92
goTsHgo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 类加载过程中的ClassLoaderValue 类详解
类定义是一个final类,不能被继承。它继承自,后者定义了一些通用的逻辑(比如存储键值对的底层机制;支持通过 sub 方法创建子类加载器值,形成层级结构;提供线程安全的原子操作,如 computeIfAbsent,确保在多线程环境下正确计算和存储值;内部使用 ConcurrentHashMap 和 Memoizer 类实现高效且延迟加载的值管理。),用于管理与类加载器(ClassLoader)相关的键值对。泛型<V>V表示值的类型。比如,可以用>>来存储类对象,或者来存储字符串。泛型让这个类非常灵活。原创 2025-04-25 15:09:01 · 703 阅读 · 0 评论 -
从一个简单的HelloWorld来完整介绍Java的类加载过程
类加载是 Java 虚拟机(JVM)将类文件(.class文件或字节码)加载到内存,并将其转换为可执行的对象的过程。它是 Java 程序运行的基础,确保程序所需的类在需要时被正确加载、验证和初始化。阶段类方法作用启动JVM 内部实现,(无 Java 方法,由 JVM 调用)初始化 JVM,加载核心类库(如加载查找并读取.class文件,生成Class对象。验证JVM 内部,(无直接 Java 方法,JVM 验证器)检查字节码合法性。准备JVM 内部,Class。原创 2025-04-23 15:19:53 · 1113 阅读 · 0 评论 -
JVM中的运行时常量池详解
保存编译时确定的常量(数字、字符串、方法引用等)。在程序运行时,把这些符号解析成实际的内存地址或数据。确保代码里的每一部分都能找到它需要的东西,正确执行。原创 2025-03-21 16:35:07 · 979 阅读 · 0 评论 -
Java 中的引导类加载器(Bootstrap ClassLoader) 详解
原生实现:由 C/C++ 编写,非 Java 类。核心职责:加载 JVM 运行所需的核心类库。委托模型:作为类加载器层次结构的顶端,确保类加载的顺序和唯一性。不可见性:在 Java 中表现为null,无法直接操作。从底层看,它是 JVM 启动的关键组件;从源代码看,它通过 JNI 与 Java 的体系协作,共同完成类的动态加载。理解引导类加载器不仅有助于深入掌握 JVM 内部机制,还能更好地调试类加载相关问题(如上面的内容不太易于理解,因此我下面用更加通俗易懂的解释,方便读者理解。原创 2025-03-19 15:34:58 · 1141 阅读 · 0 评论 -
JVM 内存介绍
养老区中也会进行GC,一旦养老代gc速度赶不上对象的产生速度了,就会OOM,出现jvm挂机。java 堆是所有线程所共享的一块内存,在虚拟机启动时创建,几乎所有的对象实。5. 每个栈帧都包含一个指向运行时常量池中该栈帧所属方法的引用,持有这个引。该常量池具有动态性,也就是说常量并不一定是编译时确定,运行时生成的常量也。的时候都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接和方法出口。指令的地址)和对象引用,这个对象引用有可能是指向对象起始地址的一个指针,局部变量所需的内存空间在。原创 2024-07-15 12:23:31 · 985 阅读 · 0 评论