ABSTRACT
This paper advocates that de facto dynamic updates of Java applications will eventually require a dynamic-update-enabled Java virtual machine. We argue that our approach for dynamic updates of component-based Java applications complements the new module system planned for upcoming Java releases. We conclude that simple extensions to an existing JVM can bring full flexibility and transparency to dynamic updates in Java.
- Dmitriev M.: Towards Flexible and Safe Technology for Runtime Evolution of Java Language Applications, presented at Workshop on Engineering Complex Object-Oriented Systems for Evolution, Tampa Bay, Florida, USA, 2001.Google Scholar
- Gosling J., Joy B., Steele G., Bracha G.: The Java Language Specification, third edition, Addison Wesley 2005, ISBN-13: 978-0321246783. Google ScholarDigital Library
- Gregersen A. G., Jørgensen B. N.: Dynamic update of Java applications - balancing change flexibility vs. programming transparency, In Journal of Software Maintenance and Evolution: Research and Practice, John Wiley&Sons 2009, Volume 21, Issue 2, Pages 81--112. Google ScholarDigital Library
- Gregersen A. R., Jørgensen B. N.: "Extending eclipse RCP with dynamic update of active plug-ins", in Journal of Object Technology, vol. 6, no. 6, July-August 2007, pp. 67--89. http://www.jot.fm/issues/issue_2007_07/article1Google ScholarCross Ref
- Gregersen A. R., Jørgensen, B. N.: Module Reload through Dynamic Update -- the case of NetBeans. In Proceedings of CSMR 2008, pp. 23--32, IEEE Computer Society, 2008. Google ScholarDigital Library
- Javeleon project page available at: www.javeloen.orgGoogle Scholar
- Jikes research VM, project information available at: http://jikesrvm.org/Google Scholar
- Malabarba S., Pandey R., Gragg J., Barr E., and Barnes F.: Runtime Support for Type-Safe Dynamic Java Classes. In proceedings of ECOOP'00. Lecture Notes in Computer Science, Vol. 1850. Springer-Verlag, (2000) pp. 337--361. Google ScholarDigital Library
- Orso A., Rao, A., Harrold M. J.: A Technique for Dynamic Updating of Java Software. In: proceedings of the IEEE International Conference on Software Maintenance (ICSM'02). (2002), pp. 649--658. Google ScholarDigital Library
- Sato Y., Chiba S.: Loosely-separated "Sister" Namespaces in Java. In proceedings of ECOOP'05. Lecture Notes in Computer Science, Vol. 3586. Springer-Verlag, (2005) pp. 49--70. Google ScholarDigital Library
- Subramanian S., Hicks M., McKinley K.: Dynamic Software Updates: A VM-centric Approach. In proceedings of PLDI'09, ACM, to appear. Google ScholarDigital Library
- Sun Microsystems inc., Project Jigsaw, http://openjdk.java.net/projects/jigsaw/Google Scholar
- Sun Microsystems inc., OpenJDK, Project Jigsaw VM changes for modules. http://openjdk.java.net/projects/jigsaw/doc/vm.htmlGoogle Scholar
- Sun Microsystems inc. Java SE HotSpot VM. http://java.sun.com/javase/technologies/hotspot/Google Scholar
- Sun Microsystems Laboratories, Maxine Project. http://research.sun.com/projects/maxineGoogle Scholar
Index Terms
- Towards a dynamic-update-enabled JVM
Recommendations
Applications of enhanced dynamic code evolution for Java in GUI development and dynamic aspect-oriented programming
GPCE '10: Proceedings of the ninth international conference on Generative programming and component engineeringWhile dynamic code evolution in object-oriented systems is an important feature supported by dynamic languages, there is currently only limited support for dynamic code evolution in high-performance, state-of-the-art runtime systems for statically typed ...
Applications of enhanced dynamic code evolution for Java in GUI development and dynamic aspect-oriented programming
GPCE '10While dynamic code evolution in object-oriented systems is an important feature supported by dynamic languages, there is currently only limited support for dynamic code evolution in high-performance, state-of-the-art runtime systems for statically typed ...
Cloneable JVM: a new approach to start isolated java applications faster
VEE '07: Proceedings of the 3rd international conference on Virtual execution environmentsJava has been successful particularly for writing applications in the server environment. However, isolation of multiple applications hasnot been efficiently achieved in Java. Many customers require that their applications are guarded by independent OS ...
Comments