类加载器
Posted zhai1997
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类加载器相关的知识,希望对你有一定的参考价值。
1、类加载器概念
(1)类的加载:是指将类的class文件读入到内存,并为之创建一个java.lang.Class对象
(2)java类加载器:是java的运行环境JRE(包括java虚拟机和基础类库)的一部分,负责将java类加载到虚拟机中。
2、类加载器的分类
引导类加载器(Bootstrap):负责加载最基础的文件
扩展类加载器(Extensions):加载基础文件
应用类加载器(AppClassLoader):加载第三方jar包和自己编写的java文件
3、类加载器的获取
(1)在src目录下创建一个类和一个txt文件:
public class Demo { public static void main(String [] args){ Class cla=Demo.class;//获取字节码文件的对象 ClassLoader classLoader=cla.getClassLoader();//获取类加载器 String path=classLoader.getResource("1.txt").getPath(); System.out.println(path); } }
先获取字节码文件对象(https://www.cnblogs.com/zhai1997/p/11389796.html),再利用该对象获取类加载器。其中getResource中的参数为文件相对于src目录的路径,
(2)运行结果:
/D:/IdeaProjects/jiazaiqi/out/production/jiazaiqi/1.txt
以上是关于类加载器的主要内容,如果未能解决你的问题,请参考以下文章
活动(加载器 - 下载)+ 3 个片段(使用加载器 - 计算)
用于在多个活动/片段中重用的全局加载器 (LoaderManager)
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段