我的疑惑是,有了磁盘文件,会否影响效率呢?

解决方案 »

  1.   

    我的疑惑是,有了磁盘文件,会否影响效率呢?
      

  2.   

    java中没有专门的共享内存方法。
    MappedByteBuffer 是为了文件映射,加快大文件读写速度。
    共享内存,有许多种实现方法,在java中可以使用文件映射来实现共享内存,缺点是文件映射必须有文件,同时有其他开销。
    文件映射的方式读写文件其实是对内存的操作,所以速度与读写内存是一致的,多余的开销在内存数据还是会同步到硬盘的,这个开销是异步的,影响不大。
      

  3.   


    有道理,我还有个问题是相比管道而言,进程间数据通信的性能哪个更好? 按照你所说的,开销是异步的话,似乎是内存映射方式效率更高
      

  4.   


    有道理,我还有个问题是相比管道而言,进程间数据通信的性能哪个更好? 按照你所说的,开销是异步的话,似乎是内存映射方式效率更高
      

  5.   

    或者说,管道和内存映射方式的进程间通信, 两者其实都是直接在内存上进行操作,所以性能差别不大呢?
      

  6.   

    磁盘操作肯定没有直接内存操作来得快单例模式不能满足要求吗?