Prevayler

Prevayler is an open-source (BSD) system-prevalence layer for Java: it transparently persists plain old Java objects. It is an in-RAM database backed by snapshots of the system via object serialization, which are loaded after a system crash to restore state. Changes to data happen via transaction operations on objects made from serializable classes. Prevayler's development was started by Klaus Wuestefeld.
Read operations are three to four orders of magnitude faster with Prevayler when compared to traditional database systems since all objects are always in RAM and in-process.
Prevayler requires enough RAM to keep the entire system state.