Icee is a process checkpointer for Solaris. The purpose of icee was to provide a simple solution to persistence for Java objects, by simply making an entire Java Virtual Machine persistent. Any objects created in that virtual machine become persistent, and can be reincarnated after host machine crashes.

In this talk, I'll describe what checkpointing is, and how we do it in Icee. I examine the performance impact of checkpointing on the JVM. I'll categorize other Java persistence schemes presented at this workshop, and describe how Icee fits in among them. Finally, I'll give an overview of other things checkpointing is useful for.