final DirectStore store = DirectStore.allocate(128L << 32); // give me 128 GB final DirectBytes slice = store.createSlice(); // every record has say 128 bytes and a lock at the start so they can be locked individually for(long l = 0; l < store.size(); l += 128) { slice.positionAndSize(l, 128); slice.busyLock(0L); // change something slive.writeLong(4L, l); slice.unlock(0L); } // when finished with the store store.free(); // still no GCs.