
java 每个类都有一个 classloader?
ClassLoaderloader=ConnectionFactory.class.getClassLoader();那这句的意思是?...
ClassLoader loader =
ConnectionFactory
.class.getClassLoader();
那这句的意思是? 展开
ConnectionFactory
.class.getClassLoader();
那这句的意思是? 展开
1个回答
展开全部
不是这样的,通常只会有一个.
Java虚拟机启动时会调用系统类加载器Bootstrap ClassLoader去加载ExtClassLoader和ApplicationClassLoader.
ExtClassLoader:自定义的类加载器.
ApplicationClassLoader:当你用的某个类时会通过它进行加载,当然你也可以通过代码用自定义的类加载器进行class的加载.
加载是指将类加载到java虚拟机中.
看下上面的图片会发现class是Data1类中的一个静态域,这说明在Data1类的多个实例中只有一个class对象,一个对象怎么会返回多个classloader呢。classloader实在class加载到虚拟机时赋上去的.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询