美文网首页我爱编程
类加载器体系

类加载器体系

作者: sherlock_6981 | 来源:发表于2018-04-10 14:36 被阅读0次

1、启动类加载器:Bootstrap ClassLoader :加载对象是java核心库,把一些核心的类加载进jvm中,使用原生C/C++实现,所有类的加载器的父加载器。无法被java程序使用。

2、扩展类加载器:Extension ClassLoader:加载对象为java扩展库,由启动类加载器加载,getParent()返回null;

3、应用程序类加载器:Application ClassLoader:系统类加载器,加载用户类路径指定的类库,程序没有自定义加载器,为默认加载器。父类为扩展类加载器;

双亲委托机制:

一个类加载进来,委托给父类加载器加载,父类加载器又尝试委托给其父类加载器,以此类推,直到父类加载器为启动类加载器。父类加载器反馈无法加载时,子加载器才会尝试自己加载。

优点:

1、保证java应用所使用的都是同一个版本java核心库的类;

2、保证安全性,启动类加载器检查缓存中已经有加载的类,不会再次加载外部的类;

全盘负责机制:

一个类加载器加载一个类时,如果没有显式指定类加载器,该类所依赖的、引用的其他所有类都由这个类加载器加载;

jvm中,同一个jvm中可以有两个包名、类名都相同的类,只要他们由两个不同的类加载器加载。该特征提供了隔离机制,tomcat的hotswap机制;

报错ClassNotFoundException

原因:类加载器加载引用类时,只会向上查找引用类,而不会从子类加载器上查找;

解决方式:

1、用同一个类加载器;

2、a,b两个类,b类引用a类,a类加载器大于b类的加载器;

相关文章

  • 深入理解jvm类加载机制

    1.什么是类加载? 类加载机制一个很大的体系,包括类加载的时机,类加载器,类加载时机。 1.1类加载过程 加载器加...

  • JAVA类加载机制

    介绍 注意类加载器的体系并不是“继承”体系,而是一个“委派”体系。大多数类加载器首先会到自己的 parent 中查...

  • JVM快速入门

    一、JVM体系结构 .java经由javac变为class字节码文件,再通过类加载器加载.对于类加载器我进行了总结...

  • 类加载器体系

    1、启动类加载器:Bootstrap ClassLoader :加载对象是java核心库,把一些核心的类加载进jv...

  • The JVM Architecture Explained -

    话题: Java,Java,教程,体系结构,内存,类加载器;

  • Java虚拟机--类加载器源码

    类加载器源码分析 下面,我们就来深入的学习下类加载器的源码,看看到底做了哪些事情? 上图呈现是源码级别的类加载体系...

  • java类加载器及其原理

    java类加载器 : java中默认有三种类加载器:引导类加载器,扩展类加载器,系统类加载器(也叫应用类加载器) ...

  • java基础知识之java类加载器

    1. 什么是类加载器 类加载器就是用来加载类的东西!类加载器也是一个类:ClassLoader 类加载器可以被加载...

  • JAVAEE中的JAVA基础加强——类加载器、注解、动态代理

    类加载器 什么是类加载器,作用是什么? 类加载器就加载字节码文件(.class) 类加载器的种类 类加载器有三种,...

  • 理解类加载的双亲委派模型

    类加载器 启动类加载器 BootstrapClassLoader 扩展类加载器 ExtensionClassLoa...

网友评论

    本文标题:类加载器体系

    本文链接:https://www.haomeiwen.com/subject/cstnhftx.html