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

    参考:https://blog.csdn.net/iteye_5504/article/details/82584210

    类加载器的分类:
    1、启动类加载器(Bootstrap ClassLoader) 这个类有c++语言实现,是虚拟机的一部分。
    2、所有其他类加载器。其他类加载器都继承抽象类java.lang.ClassLoader。


    做为java的大部分项目,都是有以下三类类加载器加载的:
    1、启动类加载器。加载的内容为:jre/lib 目录中的jar包。(JRE/lib的 所有jar包的.class文件,例如java.lang.System.class等)虚拟机启动首先加载类
    2、扩展类加载器。加载的内容为:java.ext.dirs 系统变量指定的路径中所有类库。实现为:sun.misc.Launcher$ExtClassLoader 实现。
    3、应用类加载器。实现为:sun.misc.Launcher$AppClassLoader。负责加载用户类路径上指定的类库。

     1 package test;
     2 
     3 import java.lang.System;    //BootstrapClassLoader    ./jre/lib/*.jar
     4 import sun.awt.HKSCS;       //BootstrapClassLoader    ./jre/lib/*.jar  
     5 import sun.net.spi.nameservice.dns.DNSNameService;    //ExtClassLoader   ./jre/ext/
     6 import org.apache.commons.lang.StringUtils;    //AppClassLoader
     7 
     8 public class Test {
     9     public static void main(String[] args) {
    10        System.out.println(Thread.currentThread().getContextClassLoader());
    11        System.out.println(StringUtils.class.getClassLoader());
    12 
    13        System.out.println(StringUtils.class.getResource("/"));
    14        System.out.println(Test.class.getResource("/"));
    15 
    16        System.out.println(StringUtils.class.getResourceAsStream("/jdbc.xml"));
    17        System.out.println(Test.class.getResourceAsStream("/jdbc.xml"));
    18     }
    19 }

    未考虑ExtClassLoader

    • 执行javac Test.java

        3.4行编译通过: 说明jre/lib文件夹里的class文件能被虚拟机加载,(Bootstrap ClassLoader)

        第5行出错,找不到程序包:因为Bootstrap ClassLoader,AppClassLoader也未找到。(AppClassLoader 的根目录在执行环境的目录。)

    • 添加StringUtils.class
         在Test.java同目录添加import的.class文件,执行javac Test.java,编译通过。证明StringUtils.class能被AppClassLoader加载(注意包名和路径的对应)
  • 相关阅读:
    软链接mongo
    添加系统路径
    安装mongodb扩展
    查看php扩展
    查看mongodb状态
    phpExcel 替代 产品, 可导出10W数据,无压力
    饭饭之辈 200 Vue2.0生命周期(组件钩子函数与路由守卫)
    vue 父组件监听子组件事件,emit携带参数,且父组件也自带参数问题
    xlswriter 使用文档,快速写入xls 支持 2007以上的版本
    vue 中组件传值问题
  • 原文地址:https://www.cnblogs.com/scmath/p/10278150.html
Copyright © 2011-2022 走看看