概述
DCEVM,全称Dynamic Code Evolution,一个JVM补丁程序,其目的就是实现运行时的类替换。最新的项目地址为:https://dcevm.github.io/
下面将从安装、验证、搭建测试环境、测试等几个方面进行简要说明。
安装
首先登录网址:https://dcevm.github.io/,站点中明确给出了Binaries(二进制程序)的下载链接,该项目分为两个版本的发布程序,一个是light版本,另一个是full,区别在于full版本支持更多的特性,但对于一般的开发来说,light版本足矣,更多内容详情请参考原文。
二进制的文件下载后能够从中解压出一个带installer的jar文件,这个就是用于安装补丁文件的安装程序,运行方式如下:
java -jar installer.jar
如在Linux/Unix环境下运行,请命令最前方加sudo。程序运行后,会出现如下的安装画面:
接下来通过点击按钮“Add installation directory”选择要打上补丁的JAVA_HOME目录,选择完成后,分别点击“Replace by DCEVM”和“Install DCEVM as altjvm”来为目标JDK打上DCEVM补丁。
验证
安装完成后的效果,应该与上图类似,接下来我们可以通过控制台来进行安装验证。打开控制台终端程序,然后键入以下命令:
java -version
如果安装无误的话,则会出现以下信息,重点是最后一句话“Dynamic Code Evolution”。
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Dynamic Code Evolution 64-Bit Server VM (build 24.71-b01-dcevmlight-2, mixed mode)
搭建测试环境
接下来我们可以通过一个具体的实验来测试动态加载的效果,在测试前,先需要准备好相应的测试环境。
tomcat
到http://tomcat.apache.org去下载一个Tomcat服务器程序,这里选择的版本是7。解压后在其主目录的webapps下创建一个DCEVM目录,然后按照以下结构创建一个Web应用:
DCEVM/
├── META-INF
└── WEB-INF
└── lib
Java项目
/Users/i318043/z/workspace/eclipse/ExperimentDCEVM
├── WebContent
│ └── WEB-INF
│ └── classes
│ └── com
│ └── github
│ └── dcevm
│ └── test