jreloader动态重新加载class而不重启JVM
在Tomcat 中可以配置 reloadable="true" 做到类改变后,Tomcat 重新加载。其实这个过程大约也是当 Tomcat 发现有改变的类会重新启动一个新的应用程序重新加载所有的类来服务于新的请求,只是不需要你手动的去执行 shutdown.sh(.bat),再 startup.sh(.bat),但这样有个问题就是,修改一个class需要花费一定时间去让Tomcat重新自动加载部署,非常浪费时间。
频繁重启对于调试是一种煎熬,因此希望能找到一个工具能在类改动的时候不需要重新启动当前应用而是只加载修改过的class, 当然不希望重启 Tomcat了,能实现此功能的工具有 JavaRebel 和 jreloader,其中前者是收费的,后者是开源的.
jreloader的使用方法可以查看下载ZIP包中的INSTALL.txt,在Eclipse额的Tomcat插件中的使用方法如下。
1.进到Tomcat 配置的Overview 页,点击 Open launch configuration, 弹出 Edit Configuration 窗口,再到 Arguments 标签页中,VM arguments: 输入框中加上:
-noverify -javaagent:E:\jreloader-0.4\jreloader.jar -Djreloader.dirs=E:\eclipse3.7\workspace\CIATest\WebContent\WEB-INF\classes,E:\eclipse3.7\workspace\CIAServer0515\WebContent\WEB-INF\classes
2. 把Tomcat 里该应用的reloadable 设为false,阻止Tomcat 去管理,而完全由jreloader 去承担类的热加载。
3. 启动Tomcat,修改一个类,由jreloader去加载修改的类,会看到日志:
E:\eclipse3.7\workspace\CIATest\WebContent\WEB-INF\classes\cia\test\transtest\action\TransPageAction.class
[JReloader:INFO ] Reloading class cia.test.transtest.action.TransPageAction
分享到:
相关推荐
动态编译字符串成java,并且添加class到jvm
Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 .
jreloader 下载 使用教程 JReloader 是一个用来重新加载class文件而无需重启JVM的工具。
JVM加载class文件的原理机制 Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中
JReloader 是一个用来重新加载class文件而无需重启JVM的工具
JVM加载class文件的原理机制JVM加载class文件的原理机制 JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加
动态重新加载改变的类而不用重启 JVM ,对于大型软件来说开发程序重启是非常耗时的,开发时新建类,在已有的类中添加方法是无法加载上的,大家应该经常碰到ECLIPSE中由于添加方法编译后弹出的警告,此时如果需要调试...
jvm字节码自动加载jvm字节码自动加载jvm字节码自动加载jvm字节码自动加载jvm字节码自动加载
JVM加载class文件的原理机制.pdf
由Java虚拟机自带的默认加载器(根加载器、扩展加载器、系统加载器)所加载的类在JVM生命周期中始终不被卸载。所以这些类的Class对象(我称其为实例的模板对象)始终能被触及!而由用户自定义的类加载器所加载的类会...
JVM实战-JVM类加载机制案例分析
《 从NoSuchMethodError看jvm编译和class加载方式》的测试项目代码
讲解JVM的ClassLoader子系统原理.
JVM类加载过程
无需重启服务器,无需重新部署,为我们web编程节省大量时间
JVM类加载跟踪器,用于排查jar包冲突、类冲突、类版本冲突、NoClassDefFoundError、ClassNotFoundException 等等类加载相关问题的辅助工具
Java程序的工作机制:Java对象都以单独的class文件存在,java虚拟机将其载入并执行其虚拟机指令。
JVM负责装载class文件并执行,因此,首先是JDK如何将Java代码编译为class文件、如何装载class文件及如何执行class,将源码编译为class文件的实现取决于各个JVM实现或各种源码编译器。class文件通常由类加载器...
学习关于JVM基础,java内模型的全面透析,Jar hell问题以及解决办法,Class文件格式 • Java编译执行流程 • ClassFile的格式介绍 • ClassFile中FieldInfo和MethodInfo介绍 • 类型描述Descriptor介绍 • ClassFile...
jvm-npm, 适用于JVM的兼容CommonJS模块加载器 JVM上Javascript运行时中的NPM模块加载支持。 实现基于 http://nodejs.org/api/modules.html,应该完全兼容。 当然,不包括完整的node.js API,因此不要期望依赖于它的...