Java 类加载:双亲委派机制
在讲“双亲委派机制”前,首先要讲一讲类和类加载器的关系。如果对类加载还不太熟悉的话,也可以直接到我之前转载的一篇关于类加载的文章,戳我。
类加载器:
我们定义下的类,如果我们要使用这个类,首先就是要把“.java”这个文件便以成class文件,然后由对应的“类加载器”加载到JVM中,我们才能使用这个类对象。
一般情况下,类的记载是在启动程序时有JVM来完成的,但是某些场景需要我们自己手动去指定加载某个类,这个时候就要用到Class.forName(String className)记载/找到这个className对应的类。
类记载器类型:
- Bootstrap Class Loader: 这是JDK自带的一款类加载器,用于加载JDK内部的类,用来加载$JAVA_HOME/jre/lib下面的那些类
- Extension Class Loader:这个主要是加载JDK扩展包里的类,一般是在$JAVA_HOME/lib/ext下面的包中的类
- Application Class Loader: 用于记载开发人员中自己平时写的应用代码的类的,加载存放在classpath路径下的哪些应用程序级别的类的