Mar*_*ten 26 java jvm-hotspot hotswap
我在JavaVM中寻找更好的HotSwapping.能够仅应用方法体改变是可以的,但是非常有限.
可用选项是JRebel和一个名为动态代码演进虚拟机(DCEVM)的已停产项目.
有一个由DCEVM的核心开发人员编写的JEP 159.2011年的博客文章提到,DCEVM的开发人员现在可以使用Oracle将其集成到JDK中.
我们是否已经对JDK 8 beta有这种支持,还是推迟到JDK 9?
我需要热插拔来添加和删除以及重命名私有方法.这会有很多帮助.有没有一个产品允许我这样做(在JRebel旁边,公关活动让我感到不安).
最后支持的DCEVM版本是1.6u24,它只提供32位Linux二进制文件.由于我使用的是1.7和64位Linux,这对我来说都是一个显示器.
github上还有另一个名为Fakereplace的项目.这可以很容易地用于我的目的,还是我不应该调查这个?
eis*_*eis 12
本页列出了JDK 8和JDK 9的JEP .JEP-159不在其中.从jep索引可以看出JEP-159还没有针对任何JDK版本,甚至不是jdk 10.
成功的JEP通过以下状态:
- 草案 - 作者在流通中进行初步审查和建立共识
- 发布 - 作者进入JEP档案馆进行更广泛的审核
- 已提交 - 作者宣布准备进行评估
- 候选人 - 接受OpenJDK Lead列入路线图
- 资金 - 由集团或地区负责人评定为资金充足
- 完成 - 完成并交付
所以它还没有被任何路线图所接受.
Iva*_*rov 12
在Github上的存储库中维护了一个DCEVM分支.它最近针对Java 8进行了更新.二进制文件可通过GitHub版本或下载页面获得.
对于简单的事情,比如添加/删除方法,它应该非常可靠(通过16种不同配置的自动化测试验证).但是,它最终仍然可能导致JVM崩溃,因此绝不应该在生产中使用它.