类加载器与jvm的内存

1. 类加载器与内存的关系

类加载器的字节码放在方法区(元空间)中,同时类加载器加载类后类的信息(成员变量、成员方法及修饰符等)存放在方法区中。类的信息所占内存的回收要同时满足两个条件:类的实例被回收和类加载器被回收。

2. 类加载器的分类

应用类加载器:

加载应用中所有类(包括用户的类和框架类),生命周期和应用相同

系统类加载器:

加载系统级别的类(通常由系统本身管理),生命周期和系统同步

自定义类加载器:

加载自定义模块的类(如反射加载类时的自定义类加载器和插件化时自定义的类加载器)),开发者可以控制其生命周期

3. 类加载器的作用

加载类:从apk文件、dex文件或者文件系统中加载字节码

定义类:将类的架构转化成jvm可以识别的格式

实例化类:使用Class.forName()或者newInstance()等方法实例化类

相关推荐
xu_yule2 小时前
Linux_14(多线程)线程控制+C++多线程
java·开发语言·jvm
豆奶特浓63 小时前
Java面试生死局:谢飞机遭遇在线教育场景,从JVM、Spring Security到AI Agent,他能飞吗?
java·jvm·微服务·ai·面试·spring security·分布式事务
Boop_wu5 小时前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法
3***31218 小时前
java进阶1——JVM
java·开发语言·jvm
打工人你好2 天前
如何设计更安全的 VIP 权限体系
java·jvm·安全
unclecss2 天前
把 Spring Boot 的启动时间从 3 秒打到 30 毫秒,内存砍掉 80%,让 Java 在 Serverless 时代横着走
java·jvm·spring boot·serverless·graalvm
q***2512 天前
java进阶1——JVM
java·开发语言·jvm
zlpzlpzyd2 天前
jvm 偏向锁禁用以及移除
jvm
while(1){yan}2 天前
线程的状态
java·开发语言·jvm
20岁30年经验的码农2 天前
Java JVM 技术详解
java·jvm·压力测试