美文网首页
Java的ClassLoader(类装载器)学习总结

Java的ClassLoader(类装载器)学习总结

作者: john_leventon | 来源:发表于2018-11-07 15:36 被阅读0次

    1、类装载器的概念

    类装载器就是寻找类的字节码文件并构造出类在JVM内部表示的对象组件。主要工作由ClassLoader及其子类负责。ClassLoader是一个非文件常重要的Java运行时系统组件。他负责在Java运行时查找和装入class字节码文件。

    2、工作机制

    (1)装载:查找和导入class文件。

    (2)链接:执行校验,准备(为类的静态变量分配空间)和解析步骤(将符号引用解析为直接引用)。

    (3)初始化:对类的静态变量、静态代码块执行初始化工作。

    3、ClassLoader常用的一些方法:

    (1)Class loadClass(String name)通过类的全限定类名装载类返回一个该类的Class对象。

    (2)Class defineClass(String name, byte[] b, int off, int len)通过字节数组获得一个类的定义

    (3)Class findSystemClass(String name)通过系统文件路径加载一个类

      (4)   Class findLoadedClass(String name)通过类的全限定类名确定类是否已经装载,没有装载则返回null

      (5)    ClassLoader getParent() 获取父装载器.

    BootStrapClassLoader(采用c++编写)是ExtClassLoader的父类,ExtClassLoader又是ApplicationLoader的父类。

    4、Class类 

    Class对象是在类的装载过程中由ClassLoader创建的,它没有公共的构造的方法。每个类装载后都会产生一个对应的Class对象,通过这个Class对象我们能通过编程的方式获取类的许多信息如:

    Class Name

    Class Modifies (public, private, synchronized etc.)

    Package Info

    Superclass

    Implemented Interfaces

    Constructors

    Methods

    Fields

    Annotations

    相关文章

      网友评论

          本文标题:Java的ClassLoader(类装载器)学习总结

          本文链接:https://www.haomeiwen.com/subject/iaipxqtx.html