类加载器与jvm的内存

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

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

2. 类加载器的分类

应用类加载器:

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

系统类加载器:

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

自定义类加载器:

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

3. 类加载器的作用

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

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

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

相关推荐
减_简5 小时前
JVM 之 内存溢出实战【OOM? SOF? 哪些区域会溢出?堆、虚拟机栈、元空间、直接内存溢出时各自的特点?以及什么情况会导致他们溢出?并模拟溢出】
jvm
五道书童6 小时前
IDEA中如何设置JVM启动参数
java·jvm·intellij-idea
减_简11 小时前
JVM 之 线上诊断神器Arthas【常用命令?如何使用Arthas排查cpu飙高、类加载问题、死锁、慢接口等问题?】
jvm
透明的玻璃杯11 小时前
sqlite数据库连接池
jvm·数据库·sqlite
7ioik11 小时前
jvm性能检测及调优?
jvm
何中应11 小时前
【面试题-4】JVM
java·jvm·后端·面试题
7ioik11 小时前
jvm垃圾回收算法?
jvm·算法
没有bug.的程序员1 天前
高频IO服务优化实战指南
java·jvm·spring·容器
Donald_brian1 天前
线程同步
java·开发语言·jvm
喵了meme1 天前
Linux学习日记19:线程同步与互斥锁
java·jvm·学习