JVM类加载

JVM类加载

类加载

加载:查找并加载类的字节码文件

验证:确保加载的字节码是合法且符合 JVM 规范

准备:给类的静态变量分配内存,并赋默认值

解析:符号引用替换为直接引用

初始化:静态变量赋值,执行静态代码块

类加载器

引导类加载器(BootstrapClassLoader):加载 JVM 核心类库(如 rt.jar 中的类),位于 JAVA_HOME/lib 目录下

扩展类加载器(ExtClassLoader):加载扩展类库,位于 JAVA_HOME/lib/ext 目录下

应用程序类加载器(ExtClassLoader):加载用户类路径(ClassPath)下的类

自定义类加载器:可以自定义类加载器加载指定目录下的类。Tomcat就使用了自定义类加载器,打破双亲委派,实现应用类库的隔离。

相关推荐
金銀銅鐵1 天前
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
jvm·后端·kotlin
yeccheng3 天前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
On The Road :5 天前
深入理解 JVM 垃圾回收:GC 是什么、如何判定垃圾、四大回收算法全解析
jvm·算法
Yves..5 天前
JVM 学习笔记:内存区域、类加载机制与垃圾回收
jvm
akinggw6 天前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
yh弓长6 天前
JVM 核心机制
jvm
tg_xianheyun7 天前
腾讯云国际账号注册代充值适合哪些海外业务场景?
jvm
yuniko-n7 天前
【JVM】对象内存布局
java·开发语言·jvm
wuminyu7 天前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++
wuminyu7 天前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++