Volume 14, Number 1, 53-64, DOI: 10.1007/s11036-008-0115-8

Recoverable Class Loaders for a Fast Restart of Java Applications

Vladimir Nikolov, Rüdiger Kapitza and Franz J. Hauck

From the issue entitled "Special Issue on Recent Advances in Mobile Middleware for Wireless Systems and Services. Guest Editors: Paolo Bellavista, Jiang (Linda) Xie, and Tuna Tugcu"

View Related Documents

Abstract

We present recoverable class loaders to enable a fast start-up and recovery of Java applications. This is achieved by snapshooting the static state of Java applications namely the class loaders and their associated class objects, which are then recovered during subsequent restarts. Recoverable class loaders are especially useful in the context of mobile applications and mobile services. First, they allow to speed up shutdown and restart of applications for power- and resource-management reasons on resource-restricted mobile devices. Second, services can be much faster rebooted to cure software faults such as memory leaks thereby improving the availability of services. 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 96%.

Keywords  Java - OSGi - start-up - overhead - snapshot

Fulltext Preview

Image of the first page of the fulltext document