Recoverable class loaders for a fast restart of Java applications

  • Authors:
  • Vladimir Nikolov;Rüdiger Kapitza

  • Affiliations:
  • University of Ulm, Germany;University of Erlangen-Nürnberg, Germany

  • Venue:
  • Proceedings of the 1st international conference on MOBILe Wireless MiddleWARE, Operating Systems, and Applications
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes recoverable class loaders to enable a fast start-up and recovery of Java applications. In contrast to traditional snapshot approaches that create full system images, our approach creates partial snapshots that contain a static part of the execution state of a Java application. It is the state of the class loaders and their associated class objects, which are recovered and used for restart. This is especially useful in the context of mobile devices and mobile services. In the first case it allows to shutdown applications for power-management reasons as their restart takes less time, so power management does not disturb users. In the second case services can be much faster rebooted to cure software faults such as memory leaks. Thus, users will notice a substantially reduced downtime. We implemented recoverable class loaders inside the JamVM and the OSGi middleware Oscar. For both cases of use --- Java application restart and service recovery --- we provide experimental evaluations that show a substantially reduced start-up time from up to 74%.