Java和C ++之间的共享内存

时间:2016-03-30 04:18:00

标签: java c++ shared-memory mmap

我试图用C ++创建一些内存并用Java访问它。 在C ++方面,我知道我可以使用shm_openmmap来获取 内存区域并将一些数据写入其中。但是,我怎么能打开 Java端的内存映射文件?有人建议使用MappedByteBuffer 但是如何进入"路径"提供给shm_open(它只存在于内存中,因此无法从中初始化File)。我可以不使用JNI吗?

1 个答案:

答案 0 :(得分:2)

在Linux环境中,共享内存具有特殊的内存段:

/dev/shm

shm_open中提供的名称(例如“ elo320”)用于创建文件

/dev/shm/elo320

此路径可以在Java中使用。