zoukankan      html  css  js  c++  java
  • JDK11和JDK8类加载器的区别

    如下代码:

    public class Test07 {
        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 classLoader = Class.forName("com.itteer.reflection.Test07").getClassLoader();
            System.out.println(classLoader);
            // 测试JDK内置的类加载器
            classLoader = Class.forName("java.lang.Object").getClassLoader();
            System.out.println(classLoader);
            // 如何获得系统类加载器可以加载的路径
            System.out.println(System.getProperty("java.class.path"));
        }
    }
    

    使用JDK11编译,输出结果如下:

    jdk.internal.loader.ClassLoaders$AppClassLoader@1f89ab83
    jdk.internal.loader.ClassLoaders$PlatformClassLoader@7c30a502
    null
    jdk.internal.loader.ClassLoaders$AppClassLoader@1f89ab83
    null
    D:IDEAWorkspacedemoanno
    

    使用JDK8编译,输出结果如下:

    sun.misc.Launcher$AppClassLoader@18b4aac2
    sun.misc.Launcher$ExtClassLoader@1b6d3586
    null
    sun.misc.Launcher$AppClassLoader@18b4aac2
    null
    D:Javajdk1.8.0jrelibcharsets.jar;
    D:Javajdk1.8.0jrelibdeploy.jar;
    D:Javajdk1.8.0jrelibextaccess-bridge-64.jar;
    D:Javajdk1.8.0jrelibextcldrdata.jar;
    D:Javajdk1.8.0jrelibextdnsns.jar;
    D:Javajdk1.8.0jrelibextjaccess.jar;
    D:Javajdk1.8.0jrelibextjfxrt.jar;
    D:Javajdk1.8.0jrelibextlocaledata.jar;
    D:Javajdk1.8.0jrelibext
    ashorn.jar;
    D:Javajdk1.8.0jrelibextsunec.jar;
    D:Javajdk1.8.0jrelibextsunjce_provider.jar;
    D:Javajdk1.8.0jrelibextsunmscapi.jar;
    D:Javajdk1.8.0jrelibextsunpkcs11.jar;
    D:Javajdk1.8.0jrelibextzipfs.jar;
    D:Javajdk1.8.0jrelibjavaws.jar;
    D:Javajdk1.8.0jrelibjce.jar;
    D:Javajdk1.8.0jrelibjfr.jar;
    D:Javajdk1.8.0jrelibjfxswt.jar;
    D:Javajdk1.8.0jrelibjsse.jar;
    D:Javajdk1.8.0jrelibmanagement-agent.jar;
    D:Javajdk1.8.0jrelibplugin.jar;
    D:Javajdk1.8.0jrelib
    esources.jar;
    D:Javajdk1.8.0jrelib
    t.jar;
    D:IDEAWorkspacedemoanno;
    C:Program FilesJetBrainsIntelliJ IDEA 2019.3.1libidea_rt.jar
    
  • 相关阅读:
    经典小程序源码及其下载地址
    基于cropper.js的图片上传和裁剪
    【组件】微信小程序input搜索框的实现
    如何打造个人技术影响力
    一位90后程序员的自述:如何从年薪3w到30w!
    状态模式(State)(开关灯,状态实例为类,不同状态,不同行为)
    责任链模式(Chain of Responsibility、Handler)(请求处理建立链)
    java中创建对象的五种方法
    PrintWrite
    观察者模式(Observer、Subject、ConcreteSubject、ConcreteObserver)(监护、订阅)
  • 原文地址:https://www.cnblogs.com/wgh2008/p/12313988.html
Copyright © 2011-2022 走看看