JVM类加载

JVM类加载

类加载

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

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

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

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

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

类加载器

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

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

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

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

相关推荐
闻哥44 分钟前
Kafka高吞吐量核心揭秘:四大技术架构深度解析
java·jvm·面试·kafka·rabbitmq·springboot
星辰_mya2 小时前
Elasticsearch线上问题之慢查询
java·开发语言·jvm
蓝帆傲亦2 小时前
代码革命!我用Claude Code 3个月完成1年工作量,这些实战经验全给你
jvm·数据库·oracle
Codiggerworld15 小时前
JVM内存模型——你的对象住在哪里?
jvm
马猴烧酒.17 小时前
【面试八股|JVM虚拟机】JVM虚拟机常考面试题详解
jvm·面试·职场和发展
2301_7903009618 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_7369191019 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
_F_y19 小时前
C++重点知识总结
java·jvm·c++
爱学习的阿磊20 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
m0_5500246320 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python