我试图用C ++创建一些内存并用Java访问它。
在C ++方面,我知道我可以使用shm_open
和mmap
来获取
内存区域并将一些数据写入其中。但是,我怎么能打开
Java端的内存映射文件?有人建议使用MappedByteBuffer
但是如何进入"路径"提供给shm_open
(它只存在于内存中,因此无法从中初始化File
)。我可以不使用JNI吗?
答案 0 :(得分:2)
在Linux环境中,共享内存具有特殊的内存段:
/dev/shm
shm_open中提供的名称(例如“ elo320”)用于创建文件
/dev/shm/elo320
此路径可以在Java中使用。