Here is a list of existing implementations that I managed to find, there was one more but it disappeared from Google Code:
- JDM3’s BTree implementation – very well documented and comes with delete/remove functionality which is often missing.
- Princeton CS (HTML file) – no delete/remove functionality.
- Apache DS B-Tree Base (Mavenized).
I initially used 2. when creating an inverted index but got burned as I ended up needing 1.’s remove method for index maintenance. I only found the JDBM3 implementation after more digging.