JVM内置三大类加载器详细介绍


1.根加类载器
2.扩展类加载器
3.系统类加载器

代码演示

SimpleObject类

package com.dwz.classLoader.chapter1;

public class SimpleObject {
    
}

加载器

package com.dwz.classLoader.chapter1;
/**
 *    加载器
 */
public class BootClassLoader {
    public static void main(String[] args) throws ClassNotFoundException {
        //根加载器
        System.out.println(System.getProperty("sun.boot.class.path"));
        //扩展类加载器
        System.out.println(System.getProperty("java.ext.dirs"));
        
        Class<?> forName = Class.forName("com.dwz.classLoader.chapter1.SimpleObject");
        //类加载器(AppClassLoader)
        System.out.println(forName.getClassLoader());
        //类加载器的父类是扩展类加载器(ExtClassLoader)
        System.out.println(forName.getClassLoader().getParent());
        //由于根加载器是用c++写的,所以是个null
        System.out.println(forName.getClassLoader().getParent().getParent());
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM