Links

« Back to blog

Javeleon: reload agent for JVM

Reloading classes in the JVM is no where near enough to dynamically reflect all changes that a typical developer performs in nowadays development scenarios.

Javeleon comes with out-of-the-box integration for NetBeans Platform based applications. Thus, Javeleon permits seamless and immediate runtime updates to  module dependencies and metadata. Even incremental GUI development is supported with Javeleon for NetBeans!

Javeleon is a novel dynamic updating system that is transparent to the Java language and runs on top of a standard unmodified JVM. It allows dynamic type-safe updates of code as well as thread-safe lazy state migration, thus preserving live object instances. Javeleon is intentionally designed to mimic the traditional off-line updating scheme. Hence, binary incompatible updates can be successfully carried out if and only if the type conflict is resolved and the conflicting code has been recompiled. Otherwise, possible run-time exceptions, e.g. NoSuchMethodException, will be thrown if client code tries to invoke a removed method. It is important to notice that this will also happen if those updated classes are linked together using dynamic class-loading after a complete application restart using the off-line updating scheme. The full list of code changes achievable with Javeleon is presented below together with a comparison of other dynamic update systems.

http://javeleon.org

Posted September 27, 2011 by email