类加载器

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 个片段(使用加载器 - 计算)

损坏的顶点和片段着色器

Honeycomb 中的片段加载微调器/对话框

用于在多个活动/片段中重用的全局加载器 (LoaderManager)

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段