hotswap 用户手册

关于hotswap(该补丁的网址http://ssw.jku.at/dcevm/)

Hotswap  是一个允许在运行状态下无限制的修改加载类文件的Java虚拟机补丁。当前java虚拟机的动态加载机制只允许修改类的方法体,而打了hotswap补丁以后,可以增加,删除类属性,方法,甚至可以改变一个类的父类。

Hotswap补丁是基于GPL v2.0开源协议的。你可以通过windows,linux,mac os下载hotswap 补丁的源代码或者可执行文件。

安装hotswap

警告: 该补丁目前还处于试验阶段. 当该补丁用于调试java程序使用是,是相当稳定的。但我们不提倡在生产环境中使用该补丁。

现在提供了 32, 64 Windows虚拟机32 Mac OS (从这里获得), 和32 Linux 虚拟机的补丁. 所有的修改基于 JDK7-b102版本。

安装程序

该补丁不仅能打在java7上,且打到java 6上,也一样正常工作。

在windows 启动安装程序,在控制台输入:
> java -jar dcevm-0.2-win.jar

在Mac OS启动安装程序,终端输入:
$ sudo java -jar dcevm-0.2-mac.jar

在Mac OS启动安装程序,终端输入:
$ sudo java -jar dcevm-0.2-linux.jar

安装程序会替换掉java下 bin/client/jvm.dll 和 bin/server/jvm.dll ,并将以后的jvm.dll备份到相应目录下。还会将dcevm.jar 加到lib/ext/ 目录.

图一:hotswap补丁安装界面。

执行上述命令后,就会出现图一界面,选择将要安装该补丁的java目录,单击安装就可以了。

Ps:如果你的Linux没有图形界面,您可以从这里下载已经打好补丁的java。

使用hotswap调试java程序

  1. 首先用修改后的java以debug模式启动 java程序。
  2. 使用eclipse连接到该java进程(也可以直接在eclipse中以debug方式启动)
  3. 现在在eclipse 工程下面针对class文件的任何修改将会直接反映到java程序中去。

hotswap在淘宝

令我们高兴的是,淘宝开发人员对该技术有着强烈的兴趣,目前已有如下团队使用的该补丁:Mytaobao开发团队,TDDL(Rtools)开发团队,HSF开发团队,交易中心等团队。

我们期待你的加入。

Ps:如果你使用HSF_JETTY插件,你只要通过升级就hsf_jetty,不用手动安装,就可以使用该patch。我们并会在接下来实现spring,webx配置文件的不重启动态替换。尽情期待。

时间: 2024-08-01 19:20:35

hotswap 用户手册的相关文章

Velocity用户手册---中文版

中文 Velocity是什么? Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码.Velocity将java代码从web页面中分离出来,这样为web站点的长期

Nice用户手册(一)

Nice用户手册 Daniel Bonniot Bryn Keller Francis Barber Fido Dido目录 目录 序 1.基本原理(philosophy) 2.包      main方法 3.类与接口      类声明      数据成员      构造器      参数类(parametric classes)      接口声明      枚举类 4.方法      方法声明      方法实现      值分派(value dispatch)      有名参数(name

一种带社会化帮助的用户手册交互设计

需求分析 公司一款较为复杂的软件需要产品升级,新版本相对旧版有较多改进,同时也增加了较多的新功能.为了让用户方便地进入使用状态,需要新的用户手册,对其进行重新设计. 那么,在交互设计过程中,需要如何进行用户手册设计呢? 对于一个新手来说,了解基本功能,是必须的. 用户看到创建一个具体实例,比简单地了解基本功能.用户在使用软件过程中,需要快速进入比较熟练的状态,他们不愿意将过多的时间浪费在入门阶段. 用户在使用过程中,需要将一些功能的使用方法以便签方式存储,同时也不排除所有人都一直处于一种熟练的状

Rafy 框架-发布网页版用户手册

前段时间把 Rafy 的用户手册由 CHM 格式转换为了网页格式,而且发布到了 github.io 上,即方便文档的实时更新,也方便大家查看. Rafy 用户手册网页版地址: http://zgynhqf.github.io/Rafy.       --------------------------------------------------------------------------- 附: 如何使用 github.io 来发布网页版帮助文档: https://help.github

【原创】rabbitmq-service用户手册(翻译)

      为了方便工作中使用,周末抽空对 rabbitmq-service 用户手册进行了翻译,鉴于自己水平有限,翻译中难免有纰漏产生,如果疑问,欢迎指出探讨. 官方原文:http://www.rabbitmq.com/man/rabbitmq-service.man.html ================ 我是分割线 ================== 通过 http://www.rabbitmq.com/manpages.html 可知 RabbitMQ 有5个 General Co

吐槽一下Activiti的用户手册和一本书

业余没事的时候,看了点Java的资料,无意之中发现了Activiti,就打算自己跑几个例子看看到底是怎么回事.一直搞底层,也得偶尔关心下上层到底发展到什么程度了不是. 悲惨的过程就是这么开始的,首先是Activiti的用户手册,第一次见到这么混乱的用户手册,完全打破了"Hello World"的过程.一上来你还没看到Activiti到底是什么东西的时候,就各种配置各种代码往上贴,好像生怕吓不走你一样.整个用户手册没有任何条理可研,如果按顺序看,是根本看不下去的,到最后也没琢磨明白这个用

VIM用户手册学习1

Remember  that  you  should  be  learning  by  doing, not  memorization. 1.零散的一些东西!a. CTRL-o 回到前一个位置(Notice:Type CTRL-T or CTRL-O <repeat to go further back>)b. 移动光标,按"k"上移,按"j"下移,按"h"左移,按"l"右移.图示如下:          

【原创】rabbitmq-echopid用户手册(翻译)

      为了方便工作中使用,周末抽空对 rabbitmq-echopid 用户手册进行了翻译,鉴于自己水平有限,翻译中难免有纰漏产生,如果疑问,欢迎指出探讨. 官方原文:http://www.rabbitmq.com/man/rabbitmq-echopid.man.html ================= 我是分割线 ================== 通过 http://www.rabbitmq.com/manpages.html 可知 RabbitMQ 有5个 General C

给 iOS 开发者的 GCD 用户手册

本文讲的是给 iOS 开发者的 GCD 用户手册, Grand Central Dispatch,或者GCD,是一个极其强大的工具.它给你一些底层的组件,像队列和信号量,让你可以通过一些有趣的方式来获得有用的多线程效果.可惜的是,这个基于C的API是一个有点神秘,它不会明显的告诉你如何使用这个底层组件来实现更高层次的方法.在这篇文章中,我希望描述那些你可以通过GCD提供给你的底层组件来实现的一些用法. 后台工作 也许最简单的用法,GCD让你在后台线程上做一些工作,然后回到主线程继续处理,因为像那