hotswap 用户手册

标签: jvm和java底层 工具 hotswap | 发表时间:2010-12-21 19:50 | 作者:小丑鱼 小丑鱼
出处:http://rdc.taobao.com/team/jm

关于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配置文件的不重启动态替换。尽情期待。

相关 [hotswap 用户] 推荐:

hotswap 用户手册

- 小丑鱼 - 淘宝JAVA中间件团队博客
关于hotswap(该补丁的网址http://ssw.jku.at/dcevm/). Hotswap  是一个允许在运行状态下无限制的修改加载类文件的Java虚拟机补丁. 当前java虚拟机的动态加载机制只允许修改类的方法体,而打了hotswap补丁以后,可以增加,删除类属性,方法,甚至可以改变一个类的父类.

用户及用户特征

- Nick - 所有文章 - UCD大社区
要创建1个可以与用户有效交流的网站,必须考虑到与你交流的用户. 理解用户的需求对我们决定网站内容、信息量、用户以及内容结构至关重要. 用户不是被动的接受网站提供的信息,所有人都会不断的地根据自身经验和猜测来理解. 自己在屏幕上看到的内容,即使我们认同是相同语言,但是每个人的理解含义不会完全相同. 我们都会根据自己的知识和经验来理解所看到的内容,(如果你不住再伦敦,就不知道Oyster卡,Oyster卡是乘坐公交交通时用的旅游储值卡).

用户体验

- tal-rasha - 博客园-首页原创精华区
    用户体验是一个很大的话题,先从一个故事说起.     周末参加了两天的PMP培训,听课期间注意到老师的一个细节,在讲选择题的时候,选项A、C读音正常,而“B”老师读为Boy,“D”老师读为Dog.     刚听到的时候大家莞尔一笑,以为这是个善意的玩笑.     很快,我想明白了,B和D的发音类似,容易混淆;Boy和Dog是简单的单词,发音能够明确区分,也没有类似Bog和Doy的读音混淆.

用户研究

- - 技术改变世界 创新驱动中国 - 《程序员》官网
介绍自己的设计流程时,设计师通常都说它是“以人为中心”或是“以用户为中心”的. 笼统地讲,这表示设计师经常要考虑所设计产品的潜在用户,尽力为这些人创造出最好的产品. 这个问题看似简单,实际上却不好回答. 好的设计通常都是从用户研究着手的. 我们如何才能发现人们想要实现的目标. 虽然这样做有时会得到一些有用的信息,但一定要小心地评估人们给出的答案.

Chrome用户比IE用户更聪明?

- - 创意科技 - 果壳网
Calcudoku 根据2010年至2011年间该网站的数独解谜数据,对使用不同浏览器的用户进行了分析. 结果显示,在推解该网站的数独题时,Chrome用户的表现要好于其他浏览器用户. 从Calcudoku发布的分析图中我们可以看出(下图),无论是解4×4、5×5还是6×6的数独,Chrome用户的解题速度都是最快的,火狐和IE用户分列2、3位.

排泄型用户

- Keen - 坏脾气的小肥
很长时间以来,我一直在观察某类行为,最近取了个名字叫“排泄型互动”. 最重的一级当然是辱骂与下流的留言;次一级是理直气壮的弱智言论,比如抵制家乐福(昨天还看到有人说要抵制南京的法国梧桐树,因为看法国不顺眼,只爱护中国植物);最轻的一级则是长年累月发表毫无信息价值的口水评论,如“毒,德味. ”“冬天里把爱洒向人间,洒向朋友的空间.

Facebook:Google+没有用户

- Nanqi - 36氪
6月份 Google 推出带视频群聊的社交网络 Google+ 之后,Facebook 马上联合 Skype 推出基于网页版的一对一视频聊天服务,上周 Google 宣布推出 Google+ 上的社交游戏平台,并首先上线了《愤怒的小鸟》、Zynga 的《德州扑克》等游戏之后,Facebook 马上回应对游戏进行了一系列的改版,包括游戏分辨率更高,侧边栏 News Feed 等.

用户是上帝

- Jeff - DBA Notes
因为今天在微博上抱怨支付宝在Mac下控件的问题,又想起了「用户是上帝」这句话. 恐怕每个人都听过这句话,也有很多人、很多公司将这句话写入公司章程,写在墙上,甚至挂在嘴边,但是很少有人真的把这句话放在心里. 静下心来仔细想一下,发现自己过去可能没有明白「用户是上帝」这说法到底有什么含义. 用户是上帝,不是说对于上帝的所有需求或是要求,你都去满足,那样你无形中在心里将上帝当作了魔鬼,切记不要轻易出卖自己产品的灵魂,不要动不动被用户所驱使.

DUBBO用户指南

- - 开源软件 - ITeye博客
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键. 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率.

天使用户启示录

- 书皮 - 互联网的那点事...
天使用户就是一个产品最早那批使用者中最认同产品,并希望更多人认同这个产品的人. 对于创业者来说,他们就像天使投资一样,对产品和企业有着至关重要的意义. 8月23日,Gmail工程经理马克·斯奇贝克(Mark Striebeck)在其博客中发布了代号为“麒麟”的集成功能的截图. “麒麟”计划是谷歌应广大用户要求将Google+ 整合至Gmail中的新举措,从而尝试让Google+与公司现有网络服务无缝链接,借助于此,谷歌进军社交网络迈出了又一实质性步伐.