`

用jreloader不重启JVM动态重新加载改变的类

jvm 
阅读更多

事情的起源是,我们一个程序内置了一个REST服务的server(是Jersey的Grizzly),启动后,修改类文件,需要重启服务器才能让修改生效。
这时候,就想到要动态加载类了。

在JAVA的世界里面,类,不是动态加载的,除非你检测class的变化,去写classloader啦 。
当然,世界上还有很多苦逼JAVA程序员碰到这个问题,所以,他们发明了俩工具:
JRebel :http://zeroturnaround.com/software/jrebel/
jreloader: http://code.google.com/p/jreloader/

JRebel是商业软件,也有社区免费版,我解决这个问题用的是jreloader,因为?简单一点吧。

步骤:

1、下载jreloader,解压到某个地方(地址?上面有啦,哥)
2、配置运行的参数,加入jreloader需要的参数


 
3、运行程序
4、修改类,编译修改的类
这时,我们就看到jreloader起作用啦

最后,有一篇介绍jreloader的问题,你们也看看吧:

http://unmi.cc/jreloader-reload-class

  • 大小: 12.1 KB
  • 大小: 3.5 KB
1
2
分享到:
评论
2 楼 cavenfeng 2012-12-13  
杨白白 写道
哥。怎么运行程序??

只需要在java命令中加入参数(看第一个图):
java -noverify -javaagent:c:\jreloader-0.2\jreloader.jar -Djreloader.dirs=c:\project\target\classes com.foo.Main

具体看:http://code.google.com/p/jreloader/wiki/QuickStart
1 楼 杨白白 2012-12-13  
哥。怎么运行程序??

相关推荐

    热加载类工具

    动态重新加载改变的类而不用重启 JVM ,对于大型软件来说开发程序重启是非常耗时的,开发时新建类,在已有的类中添加方法是无法加载上的,大家应该经常碰到ECLIPSE中由于添加方法编译后弹出的警告,此时如果需要调试...

    jreloader 下载 使用教程

    jreloader 下载 使用教程 JReloader 是一个用来重新加载class文件而无需重启JVM的工具。

    jreloader-0.4

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具

    java开源包8

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包1

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包11

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包2

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包3

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包6

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包5

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包10

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包4

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包7

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    java开源包9

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    JAVA上百实例源码以及开源项目

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    JAVA上百实例源码以及开源项目源代码

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    java开源包101

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

    Java资源包01

    JReloader 是一个用来重新加载class文件而无需重启JVM的工具。 PHPJava Bridge php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的...

Global site tag (gtag.js) - Google Analytics