codeegginterviewgroup / CodeEggDailyInterview

码个蛋每日面试题
393 stars 55 forks source link

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

Open kukyxs opened 4 years ago

kukyxs commented 4 years ago

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

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