java - 如何在 Java 中将驱动器挂载到 RAM 中

标签 java ram disk drive ramdisk

我正在尝试编写 RAMDisk 代码,但我不知道如何在 RAM 中安装驱动器。我将用 Java 来写这个。但是谁能告诉我如何在 RAM 中制作带有字母和名称的磁盘。

谢谢!

编辑:为了澄清起见,我想用虚拟文件(如存储在 RAM 中)创建一个文件。 DataRam 的 Ramdisk这是我想做的事情的一个很好的例子。它创建一个文件并安装一个驱动器。驱动器位于 RAM 中并写入文件。我怎样才能实现这个目标? (我想为我自己的项目创建一个带有扩展想法的RAMDisk)

最佳答案

RAMDisk(以及任何其他虚拟设备)需要使用设备驱动程序。幸运的是,设备驱动程序不是用 Java 或 C# 编写的(尤其是 Xamarin,它适用于根本不允许虚拟磁盘的移动操作系统)。虽然您可以使用 Java 来实现业务逻辑,但项目的某些部分需要使用非托管语言编写,并且项目本身应包含设备驱动程序。不用说,每个操作系统的设备驱动程序都是不同的。

现在,虚拟磁盘可以有多种类型 - 一种是您将镜像格式化为特定文件系统并处理 block 级请求,另一种是您处理文件系统请求并自行实现文件系统。

我们有适用于这两种情况的产品(分别是 CallbackDisk 和 Callback File System)。它们都有创建虚拟磁盘的示例,但只有 Callback File System 包含可供使用的 Java API。这两款产品均适用于 Windows。

在Linux上有FUSE来实现各种文件系统,在OSX上有OSXFUSE,FUSE的一个端口。

关于java - 如何在 Java 中将驱动器挂载到 RAM 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36706602/

相关文章:

java - 如何获取多个用户输入并执行计算基本计算器

java - 将 logcat 输出保存到字符串值

emacs - 通过 Emacs 启动时如何配置 SBCL 以使用更多 RAM?

c - 如何在内存中的特定位置分配内存(C编程)?

Python - 基准测试磁盘 - 在文件中准确写入 x 字节

java - 调试 java.lang.VerifyError

java - 围绕多边形计算 Voronoi

c++ - ChaiScript 如何处理大对象?

performance - SQL Server 2008 大表性能

c - C 中 open(...O_DIRECT) 的可移植性?