0 0

JVM动态加载5

hi,大家好:
   现在有这么一个需求,有一个application应用程序,其中的一些jar包要经常添加功能,现在的做法是,我写了一个自定义classloader,每次发现有jar包进行了更新,就新建一个自定义classloader去加载此jar包所在目录下的所有jar。
   这样做,我发现一个问题,在频繁更新jar包的情况下,jvm就报内存溢出,原因是先前自定义classloader相关的信息一直在内存中,没有及时被GC清理掉!大家有什么好的方法或者建议,解决这个问题?先谢谢大家
2012年5月15日 10:56

1个答案 按时间排序 按投票排序

0 0

用Jrockit jvm,sun的hotspot jvm 6.0及以前好像不会释放class空间……

7.0好像是hotspot和jrockit混合了……

2012年5月15日 13:02

相关推荐

    JVM实战-JVM类加载机制案例分析

    当程序启动时,JVM会根据应用程序的需求动态地加载所需的类到内存中。这个过程包括三个主要阶段:加载、验证和初始化。其中,加载是将类的二进制数据读入内存;验证是为了确保加载的类文件符合JVM规范;初始化则是...

    JVM技术,反射与动态代理

    Java虚拟机(JVM)是Java程序运行的核心,它负责加载、验证、执行Java字节码,使得开发者可以在任何支持JVM的平台上运行Java程序,实现了“一次编写,到处运行”的理念。本主题将深入探讨JVM技术,特别是反射与动态...

    JVM类加载机制详细讲解

    总结,JVM 类加载机制是Java平台的核心特性之一,它确保了程序的稳定运行和动态扩展能力。理解类加载器的工作原理和双亲委派模型对于优化程序性能、解决类冲突以及构建复杂的模块化系统至关重要。在实际开发中,掌握...

    JVM类加载过程.pptx

    JVM类加载过程 JVM(Java Virtual Machine)是Java语言的核心组件之一,它是Java语言的可移植性和跨平台性的基础。JVM主要组成部分包括类加载子系统、执行引擎、本地方法接口和运行时数据区。 类加载子系统是JVM的...

    动态编译字符串成java,并且添加class到jvm

    在Java编程中,动态编译字符串成Java代码并将其加载到JVM(Java虚拟机)是一种高级技巧,常用于运行时代码生成、元编程或插件系统等场景。这一技术的核心在于利用Java的反射API和Java Compiler API。下面将详细阐述...

    jvm 加载class文件

    ### JVM加载Class文件详解 #### 一、Java与JVM中的Class文件加载机制概述 Java作为一种动态性极强的解释型编程语言,在程序运行时,Java虚拟机(JVM)负责将编译生成的`.class`文件加载到内存中进行执行。在Java...

    jvm字节码自动加载

    在Java虚拟机(JVM)中,字节码自动加载是一项关键功能,它使得Java程序能够在运行时动态地发现和加载类。字节码是由Java源代码编译而成的二进制格式,它包含了类和接口的信息。了解JVM如何自动加载字节码对于深入...

    JVM类加载分析

    Java虚拟机(JVM)是Java程序运行的核心,而类加载机制则是JVM实现程序动态加载和执行的关键部分。在深入理解Java虚拟机的工作原理时,类加载机制是一个不可忽视的重要知识点。这篇博客将探讨JVM如何加载、连接和...

    JVM类加载跟踪器

    JVM类加载跟踪器,用于排查jar包冲突、类冲突、类版本冲突、NoClassDefFoundError、ClassNotFoundException 等等类加载相关问题的辅助工具

    javareble 热加载jvm插件

    JavaRebel是一款强大的JVM热加载插件,它极大地提升了Java开发者的生产力,尤其是在进行Web应用编程时。这款工具允许开发者在代码修改后立即看到结果,而无需重新启动服务器或重新部署应用程序。这一特性显著减少了...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    JIT编译是JVM中的一个关键特性,它通过即时编译技术将Java字节码动态编译成本地代码,提高程序的执行速度。这个过程包括解释执行和JIT编译,解释执行快速启动但效率低,JIT编译优化了运行效率但启动较慢。 总的来说...

    JVM加载class文件的原理机制

    JVM加载class文件的原理机制 JVM加载class文件的原理机制是Java中的核心机制之一,由于Java中的所有类必须被装载到JVM中才能运行,这个装载工作是由JVM中的类装载器完成的。类装载器所做的工作实质是把类文件从硬盘...

    jdk,jvm源码

    3. 指令集:JVM使用一套基于栈的指令集,这些指令对应于字节码,如`aload`用于加载引用到操作数栈,`iadd`用于执行整数加法等。 4. 执行引擎:解释器负责逐条解释执行字节码,而即时编译器(JIT)会将热点代码编译...

    深入Java虚拟机_002_深入详解JVM之类加载器深度剖析、根、扩展及系统类加载器

    例如,通过自定义类加载器可以实现动态加载类、隔离不同版本的库,或者实现热部署等高级功能。 总的来说,JVM的类加载器是Java运行机制的关键组成部分,深入理解和掌握这一部分知识,对于提高Java程序员的专业素养...

    jvm 启动过程 JVM 原理

    1. **加载**:当Java应用程序启动时,JVM首先通过类加载器加载主类(即包含main方法的类)。类加载器根据类的全限定名查找对应的.class文件,然后将其加载到内存中。类加载器有三种:bootstrap class loader(引导类...

    Java中的JVM类加载机制详解

    JVM的类加载机制是Java程序运行的基础...通过理解类加载机制,我们可以更好地管理类的生命周期,实现动态加载和卸载类,以及优化程序的性能。随着Java技术的不断发展,对JVM类加载机制的深入理解和应用将变得更加重要。

    JVM类加载器 test

    JVM类加载器 test

    动态加载jar包

    动态加载jar包是一种在程序运行时按需引入外部库或者组件的技术,这使得应用程序更加灵活,可以适应不同的环境和需求。这种技术广泛应用于插件系统、框架开发以及服务升级等场景,因为它允许程序在不重启的情况下...

    JVM图解-JVM指令-JVM原型图.rar

    以上只是JVM众多知识中的一部分,实际上,JVM涉及的领域还包括内存模型、线程管理、异常处理、类加载策略等。理解JVM的工作原理对于编写高效、稳定的Java程序至关重要。通过研究这个压缩包中的资源,你可以更深入地...

    java JVM 类加载-初始化 过程

    java JVM 类加载-初始化 过程

Global site tag (gtag.js) - Google Analytics