美文网首页
如何理解不同类加载器加载的类不可以互相调用

如何理解不同类加载器加载的类不可以互相调用

作者: 浅乔未果 | 来源:发表于2020-09-30 20:46 被阅读0次

不同类加载器加载的类不可以互相调用

专业术语:定义类加载器、初始类加载器

在java中加载器分为4种:

1、appClassLoad 应用程序加载器

2、etcClassLoad 扩展类加载器

3、bootStrapClassLoad(root) 根加载器

4、自定义加载器

怎么理解不同类加载器加载的类不可以互相调用?

当创建一个类Test时由appClassLoad类加载器加载,当引入变量String时,String根据双亲委派机制,一层一层往上查询,应该appClassLoad-》etcClassLoad-》bootStrapClassLoad最终由bootstrap加载,在这个过程种appClassLoad和etcClassLoad被定义位初始加载器,bootstrap被定义为定义类加载器,每个加载器当中都有一个命名空间,也就是记录表,记录着所有此类的初始类加载器,所以在Test类是以可使用到String的。

一个类通过不同的加载器,加载到方法区中,会生成两个不同的类,互相是不可以遇见的,而且在堆中也会生成不同的对象实例。

自定义类加载器是为了解决当.class文件不在classpath路径中时,寻找加载.class而存在的

相关文章

  • 如何理解不同类加载器加载的类不可以互相调用

    不同类加载器加载的类不可以互相调用 专业术语:定义类加载器、初始类加载器 在java中加载器分为4种: 1、app...

  • 在高并发环境中一种更加安全懒加载对象方式

    类加载器加载Something类时,LazyHolder是静态类,因此,类加载器不会加载该类。当第一次调用getI...

  • JVM——类加载机制

    JVM类加载机制 JVM类加载机制是通过类加载器ClassLoader来将.class文件加载到内存中,以便调用....

  • 深入理解Java类加载

    本文目的: 深入理解Java类加载机制; 理解各个类加载器特别是线程上下文加载器; Java虚拟机类加载机制 虚拟...

  • 深入理解 Java 类加载

    本文目的: 深入理解Java类加载机制; 理解各个类加载器特别是线程上下文加载器; Java虚拟机类加载机制 虚拟...

  • Java类加载

    本篇笔记的目标是理解类加载器的架构,学会实现类加载器并理解热替换的底层原理。 什么是类加载 类从被加载到虚拟机内存...

  • 玩转java反射

    原文 类加载器什么是类加载器类加载器的职责类加载器的组成 反射什么是反射如何使用反射反射在Android中的应用 ...

  • ClassLoader-父子类转换

    父类=子类能转换的条件为: 子类的类加载器==父类的类加载器or 父类的类加载器是子类的类加载器的parent(不...

  • 近期面试java基础部分面试题

    java部分: 常见的加载器有哪些,如何自定义一个加载器? 类加载器:启动类加载器(bootstrap class...

  • Java虚拟机

    JVM 组成部分 类加载器 执行引擎 内存区 本地方法调用 类加载器 双亲委派模型 类的加载过程采用双亲委派机制,...

网友评论

      本文标题:如何理解不同类加载器加载的类不可以互相调用

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