Recoverable Class Loaders for a Fast Restart of Java Applications

Vladimir Nikolov, Rüdiger Kapitza
2008 Proceedings of the 1st International ICST Conference on Mobile Wireless Middleware, Operating Systems and Applications  
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
more » ... 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%.
doi:10.4108/icst.mobilware2008.2831 dblp:conf/mobilware/NikolovK08 fatcat:yj5u5qrpuzhqfnqha73ncdsjcq