类加载器与jvm的内存

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

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

2. 类加载器的分类

应用类加载器:

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

系统类加载器:

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

自定义类加载器:

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

3. 类加载器的作用

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

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

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

相关推荐
程序员弘羽3 小时前
C++ 第四阶段 内存管理 - 第二节:避免内存泄漏的技巧
java·jvm·c++
好名字更能让你们记住我5 小时前
Linux多线程(十二)之【生产者消费者模型】
linux·运维·服务器·jvm·windows·centos
心平愈三千疾14 小时前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试
我不会写代码njdjnssj14 小时前
网络编程 TCP UDP
java·开发语言·jvm
第1缕阳光14 小时前
Java垃圾回收机制和三色标记算法
java·jvm
亲爱的非洲野猪10 天前
一次性理解Java垃圾回收--简单直接方便面试时使用
java·jvm·面试
Ray_199710 天前
C++二级指针的用法指向指针的指针(多级间接寻址)
开发语言·jvm·c++
转码的小石10 天前
Java面试复习指南:并发编程、JVM、Spring框架、数据结构与算法、Java 8新特性
java·jvm·数据结构·spring·面试·并发编程·java 8
转码的小石10 天前
Java面试复习:Java基础、面向对象编程、JVM原理、Spring框架解析
java·jvm·spring·面试·java基础·面向对象·复习
MuYiLuck10 天前
【JVM|内存结构】第一天
jvm