Skip to Main Content
Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' install/uninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects of the same class definition as distinct types when loaded by different class loaders. In this paper we apply a novel dynamic update approach to NetBeans' reload feature which overcomes these shortcomings, thus confirming its general validity. Hence, developers of NetBeans application modules, as well as NetBeans IDE modules, will experience a significant improvement as our approach allows transparent evolution of both code and state.