V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fsneak
V2EX  ›  Java

大家了解 DECVM 吗?有在生产环境使用的经验吗?

  •  
  •   fsneak · 2016-03-18 00:24:38 +08:00 · 2975 次点击
    这是一个创建于 2965 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 类的线上环境中热替换使用的多吗?

    4 条回复    2016-03-18 16:14:38 +08:00
    novaeye
        1
    novaeye  
       2016-03-18 10:42:52 +08:00
    实际使用体验上不如 jrebel
    fsneak
        2
    fsneak  
    OP
       2016-03-18 13:17:51 +08:00 via iPhone
    @novaeye 能具体说说么?
    novaeye
        3
    novaeye  
       2016-03-18 14:57:33 +08:00
    因为 decvm 是以给 jvm 打补丁的方式来实现的, 所以会要求严格的版本匹配, 这在生产环境中的话貌似有难度.

    另外对性能和稳定性也有影响的, 性能还好, 但不稳定的话在生产环境下可是很严重的事吧.

    其实无论 decvm 还是 jrebel 都应该只做为开发环境的辅助工具, 不适合带进生产环境, 个人观点.

    单纯比较 decvm 和 jrebel 的话, 前者安装简单, 不需要考虑特定的 IDE 比如 eclipse, 后者稳定性要好些, 至少还没碰到过 jvm 崩溃的问题(decvm 多次碰到). 但是 decvm 免费, jrebel 么, 你懂的~~
    fsneak
        4
    fsneak  
    OP
       2016-03-18 16:14:38 +08:00
    @novaeye decvm 居然会崩溃= =看来还是会有风险的啊。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5685 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 03:02 · PVG 11:02 · LAX 20:02 · JFK 23:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.