Now that we've seen how the checkpointer works and how it performs, I'll tell you how in fits in with other Java persistence techniques.

This slide describes 100% Java solutions, such as relational and object-oriented database mappings. These techniques include precompilers, modified Java compilers, and bytecode rewriting systems. The main disadvantage is that because each potentially persistent class has to be specially processed, the resulting system is not "orthogonally persistent." Instances of some classes may not be made persistent.