I’ve not written much Java in the last year but have been slowly getting back in to it over the last month or two. In the process of doing so I’ve been re-evaluating many of the libraries I commonly use when starting a new project and have been discovering many new ones. I thought I would write a small post on each of the interesting libraries detailing where they might be useful and maybe a small example or two. I am, by no means, an expert on any of them however. I’m also going to be sticking to libraries that I think are likely mature enough to use in a production environment.
To start with there’s MapDB (formerly JDBM4). MapDB is a pure-Java disk-backed off-heap transactional database which offers drop-in placements for common concurrent Java datastructures (ConcurrentMap and ConcurrentNavigableMap) as well as powerful features like secondary indexes. It offers a boat load of other features, such as compression and encryption.
Here’s a link to the Hello World Example.
Alternatives. Essentially any other Java in-memory database, such as: