本文共 843 字,大约阅读时间需要 2 分钟。
类加载器就加载字节码文件(.class)
1、首先需要有个java源文件,例如demo.java
2、利用编译器(jvm)对源文件进行编译变成字节码文件,形成demo.class 3、想让其demo.class运行,需要借助类加载器让其加载到java运行环境内存,形成一个字节码文件对象。 补充:如果想修改运行结果,那么有两种方式: 1、修改源文件,然后重新编译并运行。 2、修改字节码对象。
1)BootStrap:引导类加载器:加载都是最基础的文件
2)ExtClassLoader:扩展类加载器:加载都是基础的文件 3)AppClassLoader:应用类加载器:三方jar包和自己编写java文件如何获取类加载器?
从第一幅图中我们可以看到,在java运行环境中,运行的是字节码对象,其实字节码对象知道自己是通过哪个类加载器加载到内存中的,为此,我们只要能获取字节码对象,那么我就可以知道字节码对象的类加载器。 格式:ClassLoader 字节码对象.getClassLoader();
如果我有一个字节码文件,demo.class ,
package class_loader;import java.net.URL;public class demo { //1获取字节码文件的加载器 Class clazz =demo.class;//获取demo的字节码对象。 ClassLoader classloader=clazz.getClassLoader();//获取类加载器 //2、根据字节码对象获取其他资源 //getResource中的参数是相对路径,是相对与src路径的。 //path就是相对于src的地址 String path=classloader.getResource("123.txt").getPath(); }
转载地址:http://mxhbb.baihongyu.com/