Java底层:JVM(五)

类的加载方式

1.隐式加载:new
2.显示加载:loadClass,forName

loadClass和forName的区别

类的装载过程在这里插入图片描述


public class LoadDifference {
    public static void main(String[] args) throws ClassNotFoundException {
        ClassLoader cl = Robot.class.getClassLoader();
        Class r = Class.forName("com.huke.reflect.Robot");
        Class.forName("com.mysql.jdbc.Driver");
    }
}

Class.forName得到的class是已经初始化完成的 Classloader.loadClass得到的class是还没有链接的

原文链接:加载失败,请重新获取