类加载器与jvm的内存

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

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

2. 类加载器的分类

应用类加载器:

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

系统类加载器:

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

自定义类加载器:

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

3. 类加载器的作用

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

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

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

相关推荐
明天也要努力学习20 小时前
深入理解 JVM 垃圾回收(GC)
java·jvm
铁链鞭策大师20 小时前
jvm基础
jvm
香蕉大香蕉(06敬畏市场)2 天前
高频八股 · JVM(8)
java·jvm·面试·八股·大厂实习
北冥you鱼2 天前
Go 语言 GORM 使用 Preload:从关联查询到嵌套预加载的完整实践
开发语言·jvm·golang
兔头?2 天前
JVM学习文档
jvm·学习
wuminyu2 天前
JVM规范学习总结:class执行性能差异
java·linux·c语言·jvm·c++
EVEN-09132 天前
Linux-线程控制
linux·jvm
刚入门的大一新生3 天前
Linux-线程概念
linux·jvm
eleven_4u3 天前
QPS如何计算,如何部署架构
java·linux·运维·jvm·中间件
qq_452396233 天前
第八篇:《VACUUM、自动清理与膨胀治理》
jvm·数据库·oracle