CodeEggDailyInterview icon indicating copy to clipboard operation
CodeEggDailyInterview copied to clipboard

什么是类加载器?类加载器有哪些?

Open kukyxs opened this issue 5 years ago • 1 comments

kukyxs avatar Dec 16 '19 00:12 kukyxs

通过类的权限定名获取该类的二进制字节流的代码块叫做类加载器。   主要有一下四种类加载器 1.启动类加载器:这个类加载器负责放在<JAVA_HOME>\lib目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机识别的类库。用户无法直接使用。   2.扩展类加载器:这个类加载器由sun.misc.Launcher$AppClassLoader实现。它负责<JAVA_HOME>\lib\ext目录中的,或者被java.ext.dirs系统变量所指定的路径中的所有类库。用户可以直接使用。   3.应用程序类加载器:这个类由sun.misc.Launcher$AppClassLoader实现。是ClassLoader中getSystemClassLoader()方法的返回值。它负责用户路径(ClassPath)所指定的类库。用户可以直接使用。如果用户没有自己定义类加载器,默认使用这个。

4.自定义加载器:用户自己定义的类加载器。

kukyxs avatar Dec 16 '19 14:12 kukyxs