如果面试官问你,类加载过程是哪几步?
巴拉巴拉巴拉…(加载、验证、准备、解析、初始化)
见这小伙子面容惊奇,脸泛红光,不由自主的就问了一下双亲委派模型说一下吧;遇见没准备充分的,瞬间懵逼。
下面我们就来说一下这个一个有意思的虚拟机类加载机制。
一说起双亲委派,就必然要先聊一下Java中的类加载器。
Java中的类加载器
Bootstrap ClassLoader (启动类加载器)
Bootstrap ClassLoader,启动类加载,默认加载的是jdk\lib目录下jar中诸多类;
这个路径可以使用 -Xbootclasspath参数指定。
Extension ClassLoader (扩展类加载器)
Extension ClassLoader,扩展类加载器,默认加载jdk\lib\ext\目录下jar中诸多类;
这个路径可以使用 java.ext.dirs系统变量来更改。
Application ClassLoader (应用程序类加载器)
Application ClassLoader,应用程序类加载器,负责加载开发人员所编写的诸多类。
User ClassLoader (自定义类加载器)
自定义类加载器,当存在上述类加载器解决不了的特殊情