`

java类加载(二)ClassLoader及相关方法

阅读更多
(一)获取ClassLoader
(1)BootStrapClassLoader == null
ClassLoader.getSystemClassLoader().getParent().getParent();

(2)ExtClassLoader
ClassLoader.getSystemClassLoader().getParent()

(3)SystemClassLoader
//委托至sun.misc.Launcher.getLauncher().getClassLoader();(安全检查)
ClassLoader.getSystemClassLoader()

(4)通过Thread获取ClassLoader,具体细节待理
Thread.currentThread().getContextClassLoader();

该方法同样也是取自Launcher,源头:http://javasourcecode.org/html/open-source/jdk/jdk-6u23/sun/misc/Launcher.java.html#line.69
    // Also set the context class loader for the primordial thread.
    Thread.currentThread().setContextClassLoader(loader);

引用

Returns the parent class loader for delegation. Some implementations may use null to represent the bootstrap class loader. This method will return null in such implementations if this class loader's parent is the bootstrap class loader.

If a security manager is present, and the invoker's class loader is not null and is not an ancestor of this class loader, then this method invokes the security manager's checkPermission method with a RuntimePermission("getClassLoader") permission to verify access to the parent class loader is permitted. If not, a SecurityException will be thrown.
分享到:
评论

相关推荐

    深入java虚拟机(七)深入源码看java类加载器ClassLoader 1

    《深入Java虚拟机(七)深入源码看java类加载器ClassLoader》 Java类加载器(ClassLoader)在Java运行环境中扮演着至关重要的角色。它负责将类的字节码加载到Java虚拟机(JVM)中,使得程序能够运行。ClassLoader是...

    java自定义类加载classloader文档,包括代码

    - **`findClass()`方法**:重写`ClassLoader`中的`findClass()`方法,该方法用于实际加载类的二进制数据。首先调用`loadClassData()`方法从文件系统读取类文件数据,然后使用`defineClass()`方法将二进制数据转换为`...

    Java 类加载机制 ClassLoader Class.forName.pdf

    2. **Extension ClassLoader** (扩展类加载器): 负责加载扩展类库,通常位于`JAVA_HOME/lib/ext`目录下的jar包。 3. **Application ClassLoader** (应用程序类加载器): 也称为系统类加载器,负责加载用户定义的类...

    Java类加载器(ClassLoader)1

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

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

    Java应用程序类加载器是Java平台的核心组成部分之一,它负责加载应用程序中的类到JVM(Java虚拟机)中,使得程序能够执行。理解类加载器的工作原理对于深入学习Java编程至关重要。在Java中,类加载器按照层次结构...

    java类加载器

    ### Java 类加载器详解 #### 一、类加载器概述 在Java中,类加载器(Class Loader)是一项核心机制,用于将字节码(.class文件)加载到JVM中,使其成为运行时的对象。类加载器不仅实现了类的加载功能,还确保了...

    ClassLoader类加载器

    在Java编程语言中,ClassLoader是一个至关重要的组成部分,它负责加载类到JVM(Java虚拟机)中。了解和掌握ClassLoader的工作原理以及如何自定义ClassLoader对于深入理解Java应用程序的运行机制非常有帮助。以下是对...

    JAVA ClassLoader 讲解 (类加载器)

    ### Java ClassLoader (类加载器)详解 #### 一、教程提示 如果你正在查看这份文档,在线版中你可以点击下面的任何主题直接跳转到相应的部分。 1. **教程提示** 2. **介绍** 3. **类加载器结构** 4. **编译类加载...

    java的ClassLoader类加载器机制

    Java的ClassLoader类加载器机制 在 Java 虚拟机(JVM)中,类加载器(ClassLoader)扮演着非常重要的角色。类加载器负责加载 Java 类,包括核心类和用户自定义类。在 JVM 运行过程中,类加载器会形成一个层次结构,...

    ClassLoader类加载机制和原理详解

    在Java编程语言中,ClassLoader是核心组件之一,它负责加载类到JVM(Java虚拟机)中执行。本文将深入探讨ClassLoader的工作原理和类加载机制,帮助开发者理解这个至关重要的概念。 1. 类加载机制概述 Java的类加载...

    Java类加载器ClassLoader用法解析

    Java 类加载器 ClassLoader 用法解析 Java 中的类加载器(ClassLoader)是一种机制,负责将类从文件系统、JAR 文件或网络等来源加载到 Java 虚拟机中。类加载器的作用是将类的二进制数据加载到内存中,并为其创建一...

    Java类加载器.pdf

    其中,`Class.forName()`方法有两种重载形式,第一个只接受类名作为参数,第二个允许控制是否初始化类以及指定类加载器。如果只使用一个参数的`Class.forName()`方法,那么它会默认使用调用者的类加载器并初始化类。...

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

    自定义类加载器需要继承`java.lang.ClassLoader`类,并重写`findClass`方法来实现自定义加载逻辑。 自定义类加载器的基本流程包括: 1. 重写`findClass`方法,实现类的查找与加载逻辑。 2. 通过调用`super.load...

    Java类加载内幕详细讲解

    ### Java类加载内幕详解 #### 一、引言 在Java世界中,类加载机制是一项极为重要的技术。它不仅关乎程序的启动与运行,更是Java动态性与灵活性的基础。本文旨在深入探讨Java类加载的过程、原理及其在实际开发中的...

    类加载机制ClassLoader

    在Java编程语言中,类加载机制(ClassLoader)是理解JVM(Java Virtual Machine)工作原理的关键部分。它负责将.class文件从磁盘加载到内存中,使得Java程序能够执行。这个过程包括加载、验证、准备、解析和初始化五...

    springboot+java类热加载

    例如,`MemoryClassLoader.java`可能就是一个自定义类加载器的实现,它可以在内存中动态加载或更新类。 **JarinJAR**是一种打包技术,它可以将多个JAR文件打包成一个大的JAR文件。在热加载场景下,JarinJAR使得在...

    自定义Java类加载器

    现在,当我们创建自定义类加载器`MyClassLoader`时,我们需要实现`java.lang.ClassLoader`抽象类的以下关键方法: 1. **findClass(String name)**:此方法用于查找指定全限定名的类。首先,你需要将类名转换为二...

    Java实现热加载完整代码;Java动态加载class;Java覆盖已加载的class;Java自定义classloader

    这样,每次调用代理类中的方法,都会先检查实现类的class文件是否是最新的,如果不是则重新加载,达到动态加载实现类class的目的。 关键字: Java实现热加载; Java动态加载class; Java覆盖已加载的class; Java...

    java 类加载器 加密

    在“java 类加载器 加密”这个主题中,我们将探讨如何利用类加载器实现类的加密和解密,以及如何通过反射执行main方法。 首先,我们理解一下类加载器的工作原理。Java中的类加载器主要有三种:Bootstrap ...

    Java 动态加载jar文件示例

    这个类加载器需要继承`java.lang.ClassLoader`,并重写其`loadClass()`方法。在`loadClass()`中,我们可以编写代码去寻找并加载特定路径下的jar文件中的类。以下是一个简单的自定义类加载器示例: ```java public ...

Global site tag (gtag.js) - Google Analytics