• 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对象

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

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

  • 相关阅读:
    什么是php面向对象及面向对象的三大特性
    php类的定义与实例化方法
    php面向对象之$this->用法简述
    url的主要功能是什么
    PHP字符串比较函数详解
    PHP截取字符串函数substr()函数实例用法详解
    php 读取文件
    php 正则达达示中的模式修正符
    php正则表示中的元字符
    php 正则表达示中的原子
  • 原文地址:https://www.cnblogs.com/java888/p/10374980.html
Copyright © 2020-2023  润新知