JVM类加载

JVM类加载

类加载

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

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

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

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

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

类加载器

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

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

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

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

相关推荐
zhixingheyi_tian1 天前
JVM 之 GCLocker
java·jvm
标致的钢铁侠1 天前
c# 温故而知新: 线程篇(一)
java·jvm·c#
盐焗鹌鹑蛋1 天前
【C++】多态
java·jvm·c++
折哥的程序人生 · 物流技术专研2 天前
Java面试通关⑯:JVM虚拟机核心全集
jvm·校招·虚拟机·gc垃圾回收·java面试·类加载·调优
ALex_zry2 天前
C++26 constexpr 异常详解:编译期也能 throw/catch
java·jvm·c++
标致的自行车2 天前
Entity Framework之问题收集
jvm·数据库·oracle
ALex_zry2 天前
C++26 Freestanding 库扩展详解:无操作系统也能用标准库
java·jvm·c++
killerbasd3 天前
总结 7.04
jvm
summer_west_fish3 天前
K8s下Java服务OOM排查指南
jvm
花生了什么事o3 天前
Java 线程池:从参数到拒绝策略
java·jvm