码迷,mamicode.com
首页 > 其他好文 > 详细

同一个主机上的JVM实例之间通信

时间:2014-08-15 22:22:39      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:http   java   os   io   strong   文件   for   ar   

hadoop yarn里用了RPC调用。NM里面文件本地化类ContainerLocalizer用RPC心跳方式跟本机的ResourceLocalizationService通信。

 

用shared memory还要调到native层去,不知道会不会比tcp/ip快? 

 

可以用文件,考虑锁的问题。但是文件貌似不能两边一起写,否则会乱的。也许弄两个文件,每个都是单工?这样还要监视文件是否发生变化。 

还可以用剪切板,干扰比较严重

 

可以socket,socket是双工的,读写时都不用加锁防止另一边占用socket。 

 

named pipe 

 

rmi 

 

memory mapped file

  你指的是MappedByteBuffer么? 

    java.nio.channels.FileChannel abstract  MappedByteBuffer map(FileChannel.MapMode mode, long position, long size)  
           将此通道的文件区域直接映射到内存中。  

      锁定了还咋进程通信啊,我看了api doc,很多地方都是实现相关的,不靠谱 


  
可以锁定某个文件区域,以阻止其他程序对其进行访问。  

共享内存快,jni不会消耗什么。。

  jni本身效率就很低,还有个非常大的问题:一旦native code 发生异常会导致jvm down掉。

     jni在这里绝不会是瓶颈,几行本地代码,仔细写问题不大的 

      jni 中间走 object 注定慢 

 

 

http://www.newsmth.net/nForum/#!article/Java/170307

 

同一个主机上的JVM实例之间通信,布布扣,bubuko.com

同一个主机上的JVM实例之间通信

标签:http   java   os   io   strong   文件   for   ar   

原文地址:http://www.cnblogs.com/549294286/p/3915729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!