我有一个用例,我想使用不透明的byte []作为MapDb的键。我很快发现了这个Using a byte array as Map key局限性;想知道推荐哪种方法。
我宁愿不创建一堆临时对象和序列化开销,但似乎ByteBuffer.wrap(my_bytes)
是Java指向我的地方。
我希望MapDB的核心开发人员之一可以参与其中或ByteBuffer
JVM专家。
最佳答案
MapDB作者在这里。
可以使用不带包装的byte []。有一个Hasher处理HCodeMap的hashCode和equals方法:
Map map = db.createHashMap("map")
.hasher(Hasher.BYTE_ARRAY)
.keySerializer(Serializer.BYTE_ARRAY)
.makeOrGet();