什么是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安装一个插件~相关推荐

  1. 【Galois工具开发之路】关于类的重新装载思路

    思路 当一个java的类文件发生变更,如何动态的热更新这个新的类文件?即让系统动态加载变更后的类文件,目前来说,有两种可能的方式 新增一个自定义ClassLoader,名为NC,让NC去load这个新 ...

  2. 流量威胁检测工具开发之路(7)

    首先感谢很多小伙伴们对此款工具的关注,九月刚结束了实习,最近正在做二进制方向的学习,差点就把这款工具放在脑后了,也感谢大家的提醒. 这款工具,我在上半年的六月份,完成了GUI的制作,当然也是傻瓜式的G ...

  3. FPGA开发工程师路在何方?

    FPGA开发工程师路在何方? FPGA作为一个比较新的领域,在最近几年中有很大的发展和进步.各个厂家的FPGA不断推陈 出新,工艺越来越高.速度越来越快.功能越来越多,价格却越来越便宜了.随着FPGA ...

  4. 微信小程序开发之路(二)

    由于前段时间比较忙,已经有半个多月没有更新文章了.最近微信小程序频繁更新,越来越开放,所以今天我们将继续探讨小程序. 在微信小程序开发之路(一)中讲到微信小程序的单向绑定以及使用setData()方法 ...

  5. [毕业生的商业软件开发之路]系列文章目录规划

    目前[毕业生的商业软件开发之路]系列文章规划出的目录如下,希望靠大家一起完善它,有什么意见欢迎跟帖. 第一章 课程背景 高校毕业生就业问题 高校毕业生就业方式 第二章初入职场 课程说明 关于企业培训 ...

  6. 【近3万字分享】《Android开发之路——10年老开发精心整理分享》

    目录 前言 1 Android开发学习路线 1.1 大神最新总结(推荐直接看这个) 2021 最新Android知识体系 1.2按内容划分 1.3按阶段划分 1.4Android进阶路线(思维导图) ...

  7. 测试开发之路-我的处女作

    简单的自我介绍 15年毕业某大学,属于普通一本,毕业前2年执业道路坎坷,在非互联网行业干过2年软件测试,在我毕业半年后意识到我应该进入互联网,经过1年半的努力和准备,终于在17年底进入了中国互联网TO ...

  8. 王继伟-国产UMLMDA工具开发实践-UMLChina讲座-音频和幻灯

    时间 2005年4月18日(周一)下午18:30-20:30 演讲人 王继伟,1976年生.楚凡科技技术总监.负责Trufun所有产品的研发,他领导下的团队开发了UML/MDA工具Plato & ...

  9. vue结合饿了么_饿了么基于Vue2.0的通用组件开发之路(分享会记录)

    Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网 ...

最新文章

  1. 用户权限_SAP 用户权限
  2. 召回:是塔,是塔,但不是双塔!
  3. 美团面试动态规划——整数拆分
  4. Boost字符串处理
  5. MariaDB配置、集群
  6. echarts 词云_python Flask+爬虫制作股票查询、历史数据、股评词云网页
  7. 在deepin中安装docker
  8. 微信小程序横版日历,tab栏
  9. IT168技术开发频道一周精选2007-11-30
  10. python装饰器 廖雪峰_python装饰器的一个妙用
  11. YAF redis
  12. 高频电子线路实验箱QY-JXSY25
  13. Blocking Queue三种加入队列方法对比
  14. Linux安装jellyfin硬件加速,jellyfin 10.4.3之后无法硬解的解决方法
  15. 计算机学院部长换届答辩,未来可期,各自精彩——记计算机科学学院2020年两委换届竞职答辩活动...
  16. 语言栏不见了怎么办?
  17. 罗克韦尔AB PLC(RSLogix 5000)在线修改程序的具体方法示例
  18. 武侠世界。。。。。。。。。
  19. SOA、RMI、RPC、Rest、RestFul、Soap、WebService 详解
  20. java读取微信证书_Java中的微信支付(2):API V3 微信平台证书的获取与刷新

热门文章

  1. linux性能调优看这篇就懂,[转载]Linux性能调优
  2. 网易嵌入式面试 2015年9月2日下午网易视频二面
  3. 在校大学生用Python当爬虫一个月能赚3000吗?
  4. Linux 常用关闭/重启服务器命令
  5. 【译】绘制一棵漂亮的树
  6. 微信公众号 餐饮 前端源码_成都餐饮茶楼微信公众号开发方案
  7. 机遇挑战并存,印度音乐能为中国音乐行业带来什么?
  8. 串口调试助手,VB6.0开发
  9. Python资料收藏夹
  10. 计算机专业考研学校报录比,盘点那些考研报录比高出天际的专业!