【Galois工具开发之路】给你的JVM安装一个插件~
什么是DCEVM
Dcevm(DynamicCode Evolution Virtual Machine)是Java Hostspot的一个扩展插件,属于开源性工具,非JDK官方提供,它允许你在运行环境下修改加载的类文件。当前虚拟机只允许修改方法体(Method,Body),而Decvm可以增加、删除类属性、方法,甚至改变一个类的父类。
Galois是一个开源的SpringBoot项目热部署工具,提供对SpringBoot,Mybatis等三方框架的热部署支持。使用Galois需要您的JDK安装DCEVM扩展,顾名思义,可以实现增删改方法甚至是属性的热部署实现。
下载DCEVM
官方Github地址:https://github.com/dcevm/dcevm
官方Release下载地址:https://github.com/dcevm/dcevm/releases
以上是DCEVM的官方仓库地址,然而却不一定适配你的JDK版本,如果有JDK8较新的版本或以上,可以到以下地址下载
楼主当前使用 JDK 1.8.0_211 版本,原本是需要下载以下DCEVM版本。但是吧,目前Window系统的包需要自己下载源码编译,流程较为复杂,因此只能反向升级,我自己委屈求全,把JDK降到 1.8.0-181版本,这样就能用上了,DCEVM严格限制JDK版本的。
推荐到Oracle官网下载JDK https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
https://github.com/TravaOpenJDK/trava-jdk-8-dcevm/releases
安装DCEVM
- 下载jar包,通过java的jar命令启动,如下。切记,执行该命令的CMD或PowerShell窗口,需要使用管理员权限打开
java -jar .\DCEVM-8u181-installer-build2.jar
- 在弹出来的界面中,选择你的JDK,进行修补
- 修补过程中,所有java进程实例都要关闭
- 达到效果如下【已替换DCEVM,且能正常显示DCEVM版本号,如果显示could not get decversion 则表示安装失败】
- 验证安装成功,可以在控制台窗口执行 java -version,这时候就会输出带有** Dynamic Code Evolution**字样的java版本说明了,如下图所示
问题记录
- 版本说明
- 官方仓库最高支持JDK 1.8.0-181,更高版本需要到文中另一个github仓库找jar包,linux和macos有直接编译的,window则需要自己编译源码,目前【2023-02-20】是这样
- DCEVM严格要求版本一一对应,基本没有高版本兼容低版本的说法,如果是JDK8-181,则就要下载181的jar包
【Galois工具开发之路】给你的JVM安装一个插件~相关推荐
- 【Galois工具开发之路】关于类的重新装载思路
思路 当一个java的类文件发生变更,如何动态的热更新这个新的类文件?即让系统动态加载变更后的类文件,目前来说,有两种可能的方式 新增一个自定义ClassLoader,名为NC,让NC去load这个新 ...
- 流量威胁检测工具开发之路(7)
首先感谢很多小伙伴们对此款工具的关注,九月刚结束了实习,最近正在做二进制方向的学习,差点就把这款工具放在脑后了,也感谢大家的提醒. 这款工具,我在上半年的六月份,完成了GUI的制作,当然也是傻瓜式的G ...
- FPGA开发工程师路在何方?
FPGA开发工程师路在何方? FPGA作为一个比较新的领域,在最近几年中有很大的发展和进步.各个厂家的FPGA不断推陈 出新,工艺越来越高.速度越来越快.功能越来越多,价格却越来越便宜了.随着FPGA ...
- 微信小程序开发之路(二)
由于前段时间比较忙,已经有半个多月没有更新文章了.最近微信小程序频繁更新,越来越开放,所以今天我们将继续探讨小程序. 在微信小程序开发之路(一)中讲到微信小程序的单向绑定以及使用setData()方法 ...
- [毕业生的商业软件开发之路]系列文章目录规划
目前[毕业生的商业软件开发之路]系列文章规划出的目录如下,希望靠大家一起完善它,有什么意见欢迎跟帖. 第一章 课程背景 高校毕业生就业问题 高校毕业生就业方式 第二章初入职场 课程说明 关于企业培训 ...
- 【近3万字分享】《Android开发之路——10年老开发精心整理分享》
目录 前言 1 Android开发学习路线 1.1 大神最新总结(推荐直接看这个) 2021 最新Android知识体系 1.2按内容划分 1.3按阶段划分 1.4Android进阶路线(思维导图) ...
- 测试开发之路-我的处女作
简单的自我介绍 15年毕业某大学,属于普通一本,毕业前2年执业道路坎坷,在非互联网行业干过2年软件测试,在我毕业半年后意识到我应该进入互联网,经过1年半的努力和准备,终于在17年底进入了中国互联网TO ...
- 王继伟-国产UMLMDA工具开发实践-UMLChina讲座-音频和幻灯
时间 2005年4月18日(周一)下午18:30-20:30 演讲人 王继伟,1976年生.楚凡科技技术总监.负责Trufun所有产品的研发,他领导下的团队开发了UML/MDA工具Plato & ...
- vue结合饿了么_饿了么基于Vue2.0的通用组件开发之路(分享会记录)
Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网 ...
最新文章
- 用户权限_SAP 用户权限
- 召回:是塔,是塔,但不是双塔!
- 美团面试动态规划——整数拆分
- Boost字符串处理
- MariaDB配置、集群
- echarts 词云_python Flask+爬虫制作股票查询、历史数据、股评词云网页
- 在deepin中安装docker
- 微信小程序横版日历,tab栏
- IT168技术开发频道一周精选2007-11-30
- python装饰器 廖雪峰_python装饰器的一个妙用
- YAF redis
- 高频电子线路实验箱QY-JXSY25
- Blocking Queue三种加入队列方法对比
- Linux安装jellyfin硬件加速,jellyfin 10.4.3之后无法硬解的解决方法
- 计算机学院部长换届答辩,未来可期,各自精彩——记计算机科学学院2020年两委换届竞职答辩活动...
- 语言栏不见了怎么办?
- 罗克韦尔AB PLC(RSLogix 5000)在线修改程序的具体方法示例
- 武侠世界。。。。。。。。。
- SOA、RMI、RPC、Rest、RestFul、Soap、WebService 详解
- java读取微信证书_Java中的微信支付(2):API V3 微信平台证书的获取与刷新