* 什么是类加载器
类加载器就是用来加载类的东西!类加载器也是一个类:ClassLoader
类加载器可以被加载到内存,是通过类加载器完成的!Java提供了三种类加载器,分别是:
bootstrap classloader:引导类加载器,加载rt.jar中的类;
sun.misc.Launcher$ExtClassLoader:扩展类加载器,加载jre/lib/ext目录下的类;
sun.misc.Launcher$AppClassLoader:应用类加载器,加载CLASSPATH下的类,即我们写的类,以及第三方提供的类。
通常情况下,Java中所有类都是通过这三个类加载器加载的。
类加载器之间存在上下级关系,系统类加载器的上级是扩展类加载器,而扩展类加载器的上级是引导类加载器。
*首先引导类加载器-->扩展类加载器-->应用类加载器
如果通过类加载器加载类,不会再次进行加载,比如自己定义String就不会加载。和一引导类加载器发生转换混乱
*Tomcat的类加载器
-两种:
*第一种:服务器类加载器,用于加载tomcat的lib目录下的类
*第二种:应用类加载器,加载webapps下面classes和lib里面的类
-两种类加载器优先级:首先应用类加载,之后服务器类加载器