JVM类加载

JVM类加载

类加载

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

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

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

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

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

类加载器

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

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

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

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

相关推荐
DKPT15 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
低客的黑调16 小时前
为你的项目选择一个适合的[垃圾收集器]
java·jvm·算法
xu_yule20 小时前
Linux_14(多线程)线程控制+C++多线程
java·开发语言·jvm
豆奶特浓621 小时前
Java面试生死局:谢飞机遭遇在线教育场景,从JVM、Spring Security到AI Agent,他能飞吗?
java·jvm·微服务·ai·面试·spring security·分布式事务
Boop_wu1 天前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法
3***31211 天前
java进阶1——JVM
java·开发语言·jvm
打工人你好3 天前
如何设计更安全的 VIP 权限体系
java·jvm·安全
unclecss3 天前
把 Spring Boot 的启动时间从 3 秒打到 30 毫秒,内存砍掉 80%,让 Java 在 Serverless 时代横着走
java·jvm·spring boot·serverless·graalvm
q***2513 天前
java进阶1——JVM
java·开发语言·jvm
zlpzlpzyd3 天前
jvm 偏向锁禁用以及移除
jvm