如何使用 Java 进行面向块的磁盘 I/O?或类似的 B+树
我想在 Java 中实现 B+ 树 并尝试针对基于磁盘的优化它输入/输出。是否有用于从 Java 访问各个磁盘块的 API?或者是否有一个 API 可以执行类似的适合我的目的的面向块的访问?
我想用 100% Java 创建类似 Tokyo Cabinet 的东西。有谁知道像 JavaDB 这样的仅 Java 数据库在后端使用什么?
我知道除了 Java 之外,可能还有其他语言可以做得更好,但我这样做只是出于学习目的。
I would like to implement an B+ tree in Java and try to optimize it for disk based I/O. Is there an API for accessing individual disk blocks from Java? or is there an API that can do similar block-oriented access that fits my purpose?
I would like to create something like Tokyo Cabinet in 100% Java. Is there anyone that knows what Java only databases like JavaDB is using in the back-end for this?
I know that there are probably other languages than Java that can do this better, but I do this in a learning purpose only.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我突然想到 MappedByteBuffer< NIO 中的 /a> 可能是您最好的选择。它基本上是 HDD 和 Java 之间尽可能直接的映射。
Off the top of my head I think that MappedByteBuffer in NIO could be your best bet. It's basically as-direct-as-possible mapping between HDD and Java.