JVM类加载

JVM类加载

类加载

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

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

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

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

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

类加载器

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

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

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

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

相关推荐
一起养小猫3 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
爱学习的阿磊5 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
tb_first8 小时前
SSM速通3
java·jvm·spring boot·mybatis
一起养小猫8 小时前
Flutter for OpenHarmony 实战:番茄钟应用完整开发指南
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
一起养小猫8 小时前
Flutter for OpenHarmony 实战:数据持久化方案深度解析
网络·jvm·数据库·flutter·游戏·harmonyos
u0109272718 小时前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
tb_first9 小时前
SSM速通4
java·jvm·spring·tomcat·maven·mybatis
2401_8576835411 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
m0_7066532311 小时前
使用Python自动收发邮件
jvm·数据库·python
爱学习的阿磊13 小时前
Python入门:从零到一的第一个程序
jvm·数据库·python