关于类是通过哪个类加载器加载的问题想跟老师确认一下。
问题背景:假设我们程序中有个类是通过AppClassLoad来进行加载的
自下往上:
在JDK9以后,是首先通过查找自己的具名模块中是否有定义,如果有定义就直接在当前的加载器中就加载完成,如果没有,再通过父级类加载器去寻找,直到启动类加载器。
而在JDK8中,因为没有模块化的概念,所以,就算这个类其实是通过当前的类加载器去加载的,但是它也不会直接去加载,而是一级一级的去请求父级类加载器去加载,然后再一级一级的向下反馈,直到AppClassLoad这个类加载器,然后去它的classpath路径下去寻找,然后进行加载。
所以,在JDK9以后,关于类加载的效率,相比8来说,就提高了,我这样理解对吗