存储器的映射文件在Java像存储器的映射文件对窗口?或者这只是模拟根据存储和文件的共同行动Java?

有帮助吗?

解决方案

它使用存储器映射文件OS支持。

我试图找到文档做后盾的,但我没有发现任何确凿的呢。然而,文档的各个位的的说,这样的事情:

  

许多的内存映射文件的细节本身是取决于底层操作系统,因此未指定的。当所请求的区域没有完全此通道的文件中包含此方法的行为是不确定的。无论是由该程序或另一底层文件的内容或尺寸制成,改变被传播到缓冲器是不确定的。在其改变到缓冲器被传播到该文件的速率是不确定的。

如果一切只是模仿,有好多没有必要对这种不确定的行为。

其他提示

读线之间的问题和评论,什么,你们试图要做的就是利用存储器的映射的文件共享存储器/物体之间的Java和C++应用程序。

我的建议是 不要试图做这个.

有困难的问题需要加以解决,以使这个可靠的:

  • 同步的两个应用程序'使用共用的数据结构,
  • 确保更改由一个应用程序获得的可靠的书面主要存和读取通过另一个,
  • 确保变化,获得冲到光盘中所预期的顺序。

Java具体问题是,你不能把你的Java对象的存储器映区域。而不是你有序列化和deserialize他们在某种方式兼容的陈述,C++侧期待。

最后,甚至如果你做成功解决所有这些问题,解决方案很可能是脆弱的,因为它依赖于未指定的行为系统、C++、Java实现 可能可以改变 如果你改变版本的任何上述内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top