注解和反射10.类加载器

简介: 注解和反射10.类加载器

类加载器的作用


  • 类加载的作用:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口
  • 类缓存:标准的JavaSE类加载器可以按要求查找类,但一旦某个类被加载到类加载器中,他将维持加载(缓存)一段时间。不过JVM垃圾回收机制可以回收这些Class对象


public class Test {
    public static void main(String[] args) throws ClassNotFoundException {
        //获取系统类的加载类
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
        System.out.println(systemClassLoader);
        //获取系统类加载器的父类加载器-->扩展加载器
        ClassLoader parent = systemClassLoader.getParent();
        System.out.println(parent);
        //获取扩展类加载器的父类-->根加载器(c/c++)
        ClassLoader parent1 = parent.getParent();
        System.out.println(parent1);
        //测试当前类是哪个加载器加载的
        ClassLoader aClass = Class.forName("lesson02.Test").getClassLoader();
        System.out.println(aClass);
        //测试JDK内置的类是谁加载的
        aClass = Class.forName("java.lang.Object").getClassLoader();
        System.out.println(aClass);
        //如何获得系统类加载器可以加载的路径
        System.out.println(System.getProperty("java.class.path"));
    //双亲委派机制
        //java.lang.String 
    }
}
相关文章
|
8月前
66.【注解与反射】(二)
66.【注解与反射】
28 0
|
8月前
66.【注解与反射】(四)
66.【注解与反射】
22 0
|
8月前
|
Java
66.【注解与反射】(三)
66.【注解与反射】
26 0
|
8月前
66.【注解与反射】(一)
66.【注解与反射】
28 0
|
9月前
|
设计模式 缓存 Java
Java反射(反射与代理设计模式、反射与Annotation、自定义Annotation、反射整合工厂设计模式和代理设计模式)
1.反射与代理设计模式,2.反射与Annotation,3.自定义Annotation,4.Annotation整合工厂设计模式和代理设计模式
46 0
|
12月前
|
存储 安全 前端开发
类加载器及反射简单笔记
类加载器及反射简单笔记
66 0
|
Oracle Java 关系型数据库
反射与自定义注解
反射与自定义注解
反射与自定义注解
|
程序员
注解和反射2.内置注解
注解和反射2.内置注解
|
编译器
注解与反射.1什么是注解?
注解与反射.1什么是注解?