7/31/2014

DCEVM - Dynamic Code Evolution VM

When a java developer works, she spends a lot of time reloading the server context.

The Dynamic Code Evolution Virtual Machine (DCE VM) is a modification of the Java HotSpot(TM) VM that allows unlimited redefinition of loaded classes at runtime. The current hotswapping mechanism of the HotSpot(TM) VM allows only changing method bodies. Our enhanced VM allows adding and removing fields and methods as well as changes to the super types of a class.

It is an open source project released under the GPL v2.0 license.


There's a handy plugin for Intellij, that just downloads DCEVM JRE and registers it inside IDE.
Installation is performed with these steps:
  • Install a DCEVM in Intellij as follows: File -> Settings -> Plugins -> search for DCEVM -> Install.
  • Restart the program and see in the Event Log something like that:
    "DCEVM is available for your environment: Would you like to download it?" 
  • Downloading will be performed into something like that: c:\Users\anton\.IntelliJIdea13\config\plugins\DCEVM_JRE
  • Now that we have a DCEVM JRE installed, let’s update the configuration.
  • Edit Tomcat debug configurations by specifying new JRE. 
  • Run/Debug Configurations -> Server tab -> Use alternative JRE: c:\Users\anton\.IntelliJIdea13\config\plugins\DCEVM_JRE
  • Run/Debug Configurations -> Server tab -> "On frame deactivation" –> update classes and resources
Now run the project in debug option and try to changes some classes and wait until the code reloads.

Consider tweaking your JAVA_OPTS as described in this post

No comments:

Post a Comment