论坛首页 Java企业应用论坛

关于jvm类加载机制,虚拟机如何选择去调用那个类加载器

浏览 1424 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-09-16  
java语言没有类似于c/c++的连接,所有需要的类也是在运行期间动态加载到虚拟机中的,默认情况下我们使用的类加载器是系统默认的类加载器。在tomcat的lib下的jar包是通过tomcat对该web工程实例化的WebappClassLoader对象加载的,我现在有个疑问,以tomcat为例:当虚拟机运行tomcat的一个web工程时,在这个工程下虚拟机发现需要加载一个类,虚拟机是通过那个类加载器去加载这个类的?
是通过调用Thread.currentThread.getContextClassLoader()返回的类加载器来加载这个类吗,还是先找到当前需要加载有加载类操作的方法所在的类,然后找到该类的类加载器,再去加载要加载的类?

简单一点:当虚拟机发现需要加载一个类时,虚拟机先去调用那个类加载器去加载?
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics