zoukankan      html  css  js  c++  java
  • java类加载器

    类加载器:加载类的类

    内置类加载器:
    1)引导类加载器 (Bootstrap Loader)
    其实现依赖于底层操作系统,由C编写而成,没有继承于ClassLoader类。
    引导类加载器从系统属性sun.boot.class.path所指定的目录中加载类库。默认为jre目录下的lib目录下的.class文件
    该加载器没有父加载器。负责加载JVM的核心类库,如Object类就是由引导类加载的。

    2)扩展类加载器 (Extended Loader)
    它的父加载器为引导类加载器。由Java编写而成,是ClassLoader的子类。
    它从java.ext.dirs中加载类库,或者从JDK安装目录jrelibext子目录下加载类库。
    如果把用户创建的jar文件放在该目录下,也会自动由扩展类加载器加载 。

    3)应用程序类加载器 (AppClass Loader)
    父加载器为扩展类加载器。由Java编写而成,是ClassLoader的子类
    它从环境变量classpath或者系统属性java.class.path所指定的目录中加载类,是用户自定义的类加载器的默认父加载器。

    自定义类加载器:从指定路径加载类
    自定义类加载器是URLClassLoader的类的对象 其父加载器为应用程序类加载器
    URL url=new URL("file:/c:"); //类的URL路径 按照指定的格式
    URLClassLoader loader=new URLClassLoader( new URL[]{url} );//获得具体类加载器
    Class clazz=loader.loadClass(类的完整名字); //加载对应的类 返回对应的class对象

    ------------------------------------------------------------------

    加载一个类时 类加载器的加载执行顺序如下图:

  • 相关阅读:
    基于MATLAB静态目标分割的药板胶囊检测
    基于YCbCr色彩模型的简易肤色识别器
    思考一个问题STM32的
    压力校准仪开发日志-10-21 迪文屏通信命令记录
    迪文屏使用须知
    结构体变量字节填充
    sizeof 的妙用
    结构体内存的对齐方式
    内存对齐
    中国游戏产业走向世界
  • 原文地址:https://www.cnblogs.com/java888/p/10374980.html
Copyright © 2011-2022 走看看