Derby и Hypersonic SQL могут работать как в режиме памяти, так и в режиме сервера.
Помимо уже упомянутых встроенных реляционных баз данных, существуют также нереляционные встроенные базы данных Java, такие как exist (XML DB) или db4o (объектная DB).
А как насчет H2?
H2 является система управления реляционными базами данных, написанная на Java. Его можно встраивать в Java-приложения или запускать в режиме клиент-сервер. Размер диска (размер jar-файла) составляет около 1 МБ. (Википедия)
Например, HSQLDB или Apache Derby могут работать во встроенном режиме.
Мы успешно используем http://www.sqlite.org/ вместе с http://www.zentus.com/sqlitejdbc/ в качестве драйвера JDBC.
Derby может работать во встроенном режиме, как указано выше. На самом деле он включен в Java 6 SE и вместо этого называется Java DB (хотя на самом деле это просто Apache Derby). Его довольно легко использовать, хотя инструмент базы данных по умолчанию (ij) не очень хорош. Я бы использовал что-то вроде SQuirreL SQL для просмотра данных.
существует очень хорошая привязка java для баз данных SQLite под названием SqliteJDBC: