RT
DECVM(DynamicCode Evolution Virtual Machine)是 Java Hostspot 的补丁(严格上来说是修改),在运行环境下可以增加 删除类属性、方法,甚至改变一个类的父类。
代码: https://github.com/dcevm/dcevm
原理: http://www.cnblogs.com/redcreen/archive/2011/06/14/2080718.html
另外再问一下,大家在非 Web 类的线上环境中热替换使用的多吗?
1
novaeye 2016-03-18 10:42:52 +08:00
实际使用体验上不如 jrebel
|
3
novaeye 2016-03-18 14:57:33 +08:00
因为 decvm 是以给 jvm 打补丁的方式来实现的, 所以会要求严格的版本匹配, 这在生产环境中的话貌似有难度.
另外对性能和稳定性也有影响的, 性能还好, 但不稳定的话在生产环境下可是很严重的事吧. 其实无论 decvm 还是 jrebel 都应该只做为开发环境的辅助工具, 不适合带进生产环境, 个人观点. 单纯比较 decvm 和 jrebel 的话, 前者安装简单, 不需要考虑特定的 IDE 比如 eclipse, 后者稳定性要好些, 至少还没碰到过 jvm 崩溃的问题(decvm 多次碰到). 但是 decvm 免费, jrebel 么, 你懂的~~ |