解答
自 JDK1.2 起 Java 一直保持三层类加载器:
启动类加载器
在 JVM 启动时创建,负责加载最核心的类,例如 Object、System 等。
无法被程序直接引用,如果需要把加载委派给启动类加载器,直接使用 null 代替即可,因为启动类加载器通常由操作系统实现,并不存在于 JVM 体系。
平台类加载器
从 JDK9 开始从扩展类加载器更换为平台类加载器,负载加载一些扩展的系统类,比如 XML、加密、压缩相关的功能类等。
应用类加载器
也称系统类加载器,负责加载用户类路径上的类库,可以直接在代码中使用。
如果没有自定义类加载器,一般情况下应用类加载器就是默认的类加载器。自定义类加载器通过继承 ClassLoader 并重写 findClass 方法实现。
在卷的地方,测试要比开发还要开发,又要懂业务又要懂测试,还要懂运维,我都搞不懂现在测试到底是个什么角色了
这道题出得真好
热门考点啊,好多公司真题都有这道