`

Java类加载器类型

    博客分类:
  • JVM
 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2369539

 

JVM自带的加载器

  • 根类加载器(Bootstrap)(C++编写)
  • 扩展类加载器(Extension)(Java编写)
  • 系统类加载器System)(也被称为应用类加载器,Java编写)

用户自定义的类加载器

  • java.lang.ClassLoader的子类
  • 用户可以定制类的加载方式

Java的可执行文件不同于C/C++,Java编译器只产生中间字节码文件(.class文件),由Java虚拟机(java.exe)解释执行。Java发布的程序(JAR包)也多半是一堆class文件,运行时由ClassLoader加载到Java虚拟机中执行。ClassLoader是Java虚拟机的主要组成部分,由Java语言编写,用户可以实现自定义的ClassLoader来完成特定的功能。

 

JVM规范定义了两种类型的ClassLoader

  • Bootstrap ClassLoader
  • User-defined ClassLoader

JVM在运行时会产生三个ClassLoader

  • Bootstrap ClassLoader
  • Extension ClassLoader
  • AppClassLoader

Bootstrap是用C++编写的,我们在Java中看不到它,是null,是JVM自带的类装载器,用来装载核心类库,如java.lang.*等。

AppClassLoader的Parent是ExtClassLoader,而ExtClassLoader的Parent为Bootstrap ClassLoader。

 

分享到:
评论

相关推荐

    java类加载器

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

    java 类加载器 加密

    Java 类加载器是Java运行时环境的一个重要组成部分,它的主要职责是将编译后的字节码(.class文件)加载到JVM中,使得程序能够运行。类加载器的机制保证了类的唯一性,同时也提供了灵活性,允许我们自定义加载逻辑。...

    深入解析Java类加载器及其工作机制

    本文深入探讨了 Java 类加载器的概念、类型、工作机制以及如何实现自定义类加载器。通过理解类加载器,开发者可以更好地控制类的加载过程,提高应用的性能和安全性。希望本文能帮助你更深入地理解 Java 类加载器及其...

    Java的类加载器

    2. 类加载器类型: - 启动类加载器(Bootstrap ClassLoader):加载JDK核心类库,如rt.jar。 - 扩展类加载器(Extension ClassLoader):加载JRE扩展目录下的jar文件。 - 应用类加载器(Application ClassLoader...

    java 类加载器 class loader

    Java 类加载器(ClassLoader)是Java虚拟机(JVM)的核心组成部分,负责在运行时查找并加载类的字节码。了解ClassLoader的工作机制对于优化应用性能、实现安全控制以及进行插件化开发至关重要。 首先,Java的...

    Java类加载器的详解

    Java类加载器是Java虚拟机(JVM)的重要组成部分,它的主要职责是将类的字节码文件(.class文件)从文件系统、网络或内存中读取,并转换为运行时的java.lang.Class对象。这个过程是Java动态加载机制的核心,使得Java...

    深入研究Java类加载机制 深入研究Java类加载机制

    Java中的类加载器系统主要包括以下几种类型的类加载器: 1. **Bootstrap ClassLoader**(启动类加载器):它是整个类加载器系统的根,负责加载存放在`<JDK_HOME>\lib`目录中的核心类库。该类加载器没有父类加载器,...

    Java类加载器(ClassLoader)1

    Java类加载器分为三种主要类型:引导类加载器(Bootstrap ClassLoader)、扩展类加载器(Extension ClassLoader)和应用程序类加载器(Application ClassLoader,也称为系统类加载器)。它们共同工作,确保了Java...

    Java类加载器学习总结.pdf

    - `java.lang.Class`类:代表Java中的所有类的类型,类加载器在加载类时会生成对应的`Class`对象。 - `Class.newInstance()`方法:通过类对象创建该类的一个实例,要求该类有一个无参构造方法。 - 类路径(classpath...

    深入探讨 Java 类加载器.pdf

    #### 类加载器的类型 - **引导类加载器(Bootstrap ClassLoader)**:它是系统自带的类加载器,负责加载Java的核心类库(位于`rt.jar`中),无法被Java程序直接引用。 - **扩展类加载器(Extension ClassLoader)**...

    JAVA ClassLoader 讲解 (类加载器)

    Java的类加载器体系结构由三个主要类型的类加载器组成: 1. **引导类加载器(Bootstrap ClassLoader)**:这是最基础的类加载器,负责加载Java的核心库类,如`java.lang`包下的类。 2. **扩展类加载器(Extension ...

    java类加载器和核心机制.pdf

    在Java中,类加载器和类加载机制是非常重要的概念,它们使得Java具备了动态加载和热部署的能力,极大地提高了程序的灵活性。类加载器负责将.class文件加载到Java虚拟机中,并生成对应的java.lang.Class对象,以便JVM...

    Java类加载机制

    Java 中存在多种类型的类加载器,每种类加载器都有其特定的作用范围: 1. **引导类加载器(Bootstrap Class Loader)**:这是系统级的类加载器,它负责加载 Java 核心类库,如 `java.lang.Object`。由于这是一个...

    java类加载机制

    双亲委派模型是Java类加载器的重要特性之一,它的基本流程是:当一个类加载器收到加载类的请求时,它首先不会自己去尝试加载这个类,而是把请求委托给父类加载器去完成,每个层次的类加载器都是如此。如果父类加载器...

    Java类加载说明

    类加载器有多种类型,包括Bootstrap ClassLoader(启动类加载器)、Extension ClassLoader(扩展类加载器)和AppClass ClassLoader(应用程序类加载器)。Bootstrap ClassLoader负责加载JRE的核心库,Extension ...

    Java类加载及SPI机制.pdf

    在Java中,类加载器分为三种类型:BootstrapClassLoader(启动类加载器)、ExtensionClassLoader(扩展类加载器)和ApplicationClassLoader(应用程序类加载器)。这些类加载器并不是继承关系,而是通过组合关系复用...

    Java类加载原理解析文档

    此外,还有一个特殊类型的类加载器——线程上下文类加载器,稍后会单独讨论。 类加载器之间遵循双亲委派机制。这意味着当一个类加载器收到加载类的请求时,它会先委托给其父类加载器尝试加载。只有当父类加载器无法...

    Java类加载内幕

    本文详细介绍了类加载的基础概念、类加载器的类型及其工作流程,并通过实际示例展示了如何创建自定义类加载器。掌握了这些知识后,开发者可以更好地应对各种复杂的编程挑战,避免常见的类加载错误,并提高应用程序的...

Global site tag (gtag.js) - Google Analytics