• 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
    
  • 相关阅读:
    Activity跳转动画
    如何查询自己的手机版本?欧版、亚太、港行、还是国行?
    VC程序员常用工具汇总
    陈灯可重用代码段管理器VS插件版5.0发布(代码段收集器、个人代码库、代码片段管理、代码管理)
    基于OSLC的系统集成
    安桌点菜源代码
    eclipse jsp 文字设置
    ubuntu 下 netbeans平台 使用C连接mysql
    使用gdi+实时绘制picturebox(画个叉)
    思路上的转变,运用投影和一阶导数的思想
  • 原文地址:https://www.cnblogs.com/wgh2008/p/12313988.html
Copyright © 2020-2023  润新知