`

现阶段对ClassLoader的困惑

    博客分类:
  • java
 
阅读更多

1.由于CLASSLOADER是DELEGATE模式,加载一个类时总是问一下父CLASSLOADER是否加载了该类,所以你更新了一个CLASS文件时你再加载入来时由于父CLASSLOADER命名空间中已有了该类的,所以不加载新的CLASS。如何加载新的CLASS文件?我找到了一个方法,在工程的CLASSPATH下不要用该类的CLASS文件,定义一个CUSTOM CLASSLOADER,每次加载新的CLASS时都新建一个CUSTOM CLASSLOADER以避免相同命名空间下重复导致不加载新的CLASS文件。这样的做法是把一个CLASS放到了不同的CLASSLOADER命名空间去了,太多重复了,会导致内存不足。有啥方法呢?接着就有下疑点:

 

2.线程的CONTEXT能打破DELEGATE,具体来说没实践过,资料上也说得模糊。

 

 

《inside the jvm》的一些语录:

Once a Java virtual machine has loaded a class named Volcano into a particular name-space, for example, it is impossible to load a different class named Volcano into that same name-space;

 

 

Although you can grant special access privileges between types belonging to the same package by giving members protected or package access, this special access is granted to members of the same package at runtime only if they were loaded by the same class loader.

 

 

 

分享到:
评论

相关推荐

    JVM ClassLoader简析

    初始化阶段则对类进行静态变量的赋值和初始化块的执行。 在Java中,每个类都有一个唯一的ClassLoader实例与其关联。当需要加载一个类时,ClassLoader首先检查该类是否已经加载。如果未加载,它会委托给父...

    ClassLoader

    Java 虚拟机中ClassLoader 相关简介 双亲委托机制 Android 中ClassLoader 简介

    自定义classloader的使用

    在Java中,Classloader是加载类的关键组件,它负责查找、加载和初始化字节码文件。自定义Classloader允许开发者根据特定需求定制类的加载逻辑,例如加密类文件、隔离不同版本的库或者动态加载代码。本文将深入探讨...

    ClassLoader小例子

    - 示例可能还涉及到了对异常处理的演示,因为自定义加载过程中可能会遇到找不到类或非法类文件的问题。 了解和掌握ClassLoader的概念及其应用,对于理解和调试复杂的Java应用程序,尤其是涉及到动态加载和插件化...

    Java ClassLoader定制实例

    在Java编程语言中,...然而,这也需要开发者对Java的内存管理和类加载机制有深入的理解,以便正确且安全地使用。通过研究"InternalsOfClassloadingSrc"这样的项目,我们可以更深入地学习和实践ClassLoader的定制。

    ClassLoader运行机制 自己写的

    ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的

    ClassLoader 案例

    Java中的类加载过程分为三个阶段:加载、验证、准备、解析和初始化。默认情况下,系统使用Bootstrap ClassLoader、Extension ClassLoader和App ClassLoader来加载不同路径下的类。自定义ClassLoader则允许我们插入这...

    java ClassLoader机制及其在OSGi中的应用

    Java ClassLoader机制是Java虚拟机(JVM)中一个至关重要的组成部分,它的主要任务是将类的.class文件加载到JVM中,使得程序能够运行。ClassLoader不仅负责类的加载,还涉及类的验证、初始化等一系列过程。理解...

    理解Java ClassLoader机制

    Java ClassLoader机制是Java运行时环境中的核心组件之一,它负责加载类到JVM(Java虚拟机)中,使得程序能够执行。理解ClassLoader的工作原理对于优化应用性能、处理类加载问题以及实现自定义加载器至关重要。 首先...

    classloader

    这个过程包括加载、验证、准备、解析和初始化五个阶段。Android系统主要使用三种类型的类加载器:Bootstrap ClassLoader、Extension ClassLoader和App ClassLoader(也称为PathClassLoader)。 1. Bootstrap ...

    ClassLoader原理

    ClassLoader原理,ClassLoader原理 ClassLoader原理

    ClassLoader 详解.doc

    《ClassLoader详解》 Java应用程序的运行离不开类的加载,而ClassLoader正是这个过程的关键角色。它负责将类的字节码加载到Java虚拟机(JVM)中并转换为可执行的Java对象。深入理解ClassLoader的工作原理对于优化...

    java classloader

    深入Java 2 SDK.pdf`可能涉及的是Java与其他工具和技术的集成,如与微软Office的交互、使用Visual Studio .NET管理Java应用、Ant构建工具的使用以及对Java 2 SDK的深入理解,这些都可能间接地涉及到ClassLoader的...

    ClassLoader类加载机制和原理详解

    类加载的过程通常分为三个阶段:加载、验证和准备、解析和初始化。 - 加载:查找并加载类的二进制数据。数据可能来自JAR文件、网络或自定义的加载源。 - 验证:确保类文件的字节码符合Java语法规则,防止恶意代码的...

    探究java的ClassLoader及类变量初始化顺序

    加载阶段,ClassLoader根据类名找到对应的.class文件,并将其转换为内存中的Class对象。验证阶段确保加载的类符合Java语法规则和安全策略。准备阶段则为类的静态变量分配内存并初始化为默认值。之后,类的初始化...

    破解java加密的ClassLoader.java,在classloader植入破解代码

    破解java加密的ClassLoader.java,在classloader植入破解代码

    ClassLoader的 一些测试

    在Java编程语言中,ClassLoader是一个至关重要的组成部分,它负责加载类到JVM(Java虚拟机)中执行。这篇测试主要探讨了ClassLoader的工作原理及其在实际应用中的使用。通过阅读给出的博文链接,我们可以深入理解...

    使用classloader动态加载Class

    ClassLoader主要关注的是加载阶段,它根据全限定名(如"java.lang.String")找到对应的.class文件,并将其转换为Class对象。Java提供了三个基础类加载器:Bootstrap ClassLoader、Extension ClassLoader和...

    java classloader classpath 张孝祥

    java classloader classpath 张孝祥

Global site tag (gtag.js) - Google Analytics