java语言没有类似于c/c++的连接,所有需要的类也是在运行期间动态加载到虚拟机中的,默认情况下我们使用的类加载器是系统默认的类加载器。在tomcat的lib下的jar包是通过tomcat对该web工程实例化的WebappClassLoader对象加载的,我现在有个疑问,以tomcat为例:当虚拟机运行tomcat的一个web工程时,在这个工程下虚拟机发现需要加载一个类,虚拟机是通过那个类加载器去加载这个类的.是通过调用Thread.currentThread.getContextClassLoader()返回的类加载器来加载这个类吗,还是先找到加载当前线程当前正在运行的方法的类类加载器,然后再用该加载器去加载?
简单一点:当虚拟机发现需要加载一个类时,虚拟机先去调用那个类加载器去加载?