`
程序新手
  • 浏览: 59533 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类加载器原理

 
阅读更多

       类加载器源自于JAVA的applet需求,在JAVA中负责将字节码转换成内存中的Class对象放入方法区中,如果两个类的对象加载器不一致,那么这两个对象instanceof、equals方法必定返回false

       类加载器的结构如下图所示,采用了双亲委派模式,意思是除了顶层的Bootstrap以外,其他加载器都有自己的父加载器,当遇到加载Class的请求的时候先会判断内存中此类是否有加载过,如果没有被加载则将请求交给父加载器来处理,如果父加载器没有,则自己在尝试加载,这样有层次的好处是为了不会导致内存中有更多混乱的类重复加载

      

      

          双亲委派模型虽然好但并不是万能的,如果我们想要用自己的类加载器强制加载顶层的类,就会出现安全的异常,但一些应用场景如JNDI、Spring的IOC就会期望交给它们来管理类,因此出现破坏双亲委派模型,这次破坏仅仅是将加载顺序颠倒

          在生产环境的需求中,我们希望我们的项目无停顿一直对外服务,这里除了要减少FullGC的停顿时间以外,我们还有打版本的需求,比如今天我们需要向外网打某个模块的版本,一般情况下通过Ng前端的控制就可以让用户感受到无间歇的为他们服务,但是这样的的局限性和代价还是很大,我们期望最好是能够让这个模块单独重启,不影响其他模块的业务。这里JAVA为我们提供了JSR规范,现在业内使用比较多的是OSGI,OSGI把每个模块都拥有自己的类加载器,当需要替换某个模块的时候,就连同类姐在前一起替换掉

  • 大小: 96.4 KB
分享到:
评论

相关推荐

    Java类加载器原理

    Java 类加载器原理 Java 类加载器是Java虚拟机(JVM)的核心组成部分,它负责将类的字节码加载到内存中并转换为可执行的Java类。类加载器的作用不仅仅是加载类,还包括确保类的唯一性,避免重复加载,并且遵循特定...

    java类加载器

    ### Java 类加载器详解 #### 一、类加载器概述 在Java中,类加载器(Class ...通过理解和掌握类加载器的工作原理及其不同类型的加载器,可以帮助开发者更好地管理Java应用程序的依赖关系,提高程序的性能和可维护性。

    类加载器文件

    ### 类加载器详解 #### 一、类加载器概述 **类加载器(ClassLoader)**是Java虚拟机(JVM)中的一个重要组成部分,它负责将编译好的`.class`文件加载到JVM中...理解类加载器的工作原理对于深入掌握Java编程有着重要意义。

    java类加载原理分析

    Java 类加载原理是Java运行时环境中的核心机制之一,它涉及到类的生命周期、类加载器的层次结构以及类的查找和加载过程。了解这一机制对于深入理解Java平台的工作原理至关重要,尤其是在开发自定义类加载器或者处理...

    自定义类加载器实现自定义加载

    本篇文章将深入探讨如何实现自定义类加载器以及其背后的原理。 1. **类加载器的工作原理** - 类加载过程分为三个阶段:加载、验证、准备、解析和初始化。在加载阶段,类加载器寻找并加载类的二进制数据。 - Java...

    类加载器(java)

    总之,Java的类加载器是理解JVM工作原理的关键一环,其背后涉及到了许多高级特性,如设计模式、动态加载、模块化以及安全性。通过对这些知识点的深入学习,开发者可以更好地控制和优化应用程序的行为。

    tomcat类加载器

    类加载器遵循双亲委派模型,这意味着当一个类加载器尝试加载类时,它首先会将请求委托给其父类加载器,直到到达顶层的Bootstrap ClassLoader,如果父类加载器无法找到该类,子类加载器才会尝试自己加载。 在Tomcat...

    自定义类加载器

    本文将深入探讨自定义类加载器的基本概念、工作原理以及如何创建一个简单的基于磁盘的自定义类加载器。 ### 类加载器的层次结构 Java中的类加载器通常形成一个树状的层次结构,其中Bootstrap ClassLoader是最顶层...

    Java类加载原理解析

    本文主要解析Java类加载的原理,分为三个部分:基础的类加载原理解析、插件环境下的类加载和线程上下文类加载器。 首先,Java虚拟机(JVM)内置了三种预定义的类加载器: 1. 启动(Bootstrap)类加载器:这是最基础的...

    JVM类加载器说明文档

    展类加载器的加载顺序来理解。系统类加载器在加载类时,会先尝试让扩展类加载器加载,如果...理解类加载器的工作原理有助于我们更好地进行程序设计和优化,特别是在开发插件系统、模块化应用以及处理动态加载需求时。

    类加载器代码

    类加载器是Java虚拟机(JVM)的重要组成部分,它负责将类的字节码从文件系统或网络中加载到JVM中,并转换为运行时的java.lang.Class...深入理解类加载器的工作原理和机制,对于开发高效、稳定的Java应用具有重要意义。

    JAVA的类加载器的工作原理.docx

    JAVA类加载器的工作原理 JAVA类加载器是JAVA虚拟机(JVM)的一部分,负责加载类文件,并将其转换为JVM可以执行的字节码。类加载器基于三个机制:委托、可见性和单一性。 委托机制是指将加载一个类的请求交给父类...

    Java的类加载器

    当遇到类找不到或冲突的问题时,理解类加载器的工作原理至关重要。通过设置JVM参数(-verbose:class)或使用工具如jconsole、VisualVM等,可以帮助分析类加载的过程。 8. 源码分析: 要深入理解类加载器,阅读JVM...

    JAVA的类加载器的工作原理.pdf

    JAVA类加载器的工作原理 Java 类加载器是 Java 虚拟机(JVM)中的一种机制,用于加载 Java 类文件。 Java 类加载器的作用是将类文件加载到 JVM 中,以便 JVM 执行类文件中的字节码。Java 类加载器基于三个机制:...

    ClassLoader类加载器

    1. Bootstrap ClassLoader:这是最基础的类加载器,由JVM本身实现,负责加载JRE的`<JAVA_HOME>/lib`目录下的核心类库,或者被`-Xbootclasspath`参数指定的路径中的类。 2. Extension ClassLoader:扩展类加载器,...

    java应用程序类加载器,ClassLoader for java Application

    理解类加载器的工作原理对于深入学习Java编程至关重要。在Java中,类加载器按照层次结构进行组织,包括引导类加载器、扩展类加载器和应用程序类加载器,每个都有特定的职责。 1. **引导类加载器(Bootstrap ...

    java 类加载器 加密

    首先,我们理解一下类加载器的工作原理。Java中的类加载器主要有三种:Bootstrap ClassLoader、Extension ClassLoader和App ClassLoader。它们按照双亲委派模型工作,从根加载器开始,逐级尝试加载类。当我们想要对...

    网络类加载器实现

    通过分析和学习这段代码,你可以更深入地理解类加载器的工作原理以及如何自定义类加载器来实现特定需求。 总之,“网络类加载器实现”是一种高级的Java技术,它结合了类加载机制和网络编程,使得Java应用程序具有更...

Global site tag (gtag.js) - Google Analytics