Jvm 可以用Java进行进程间通信吗?

Jvm 可以用Java进行进程间通信吗?,jvm,ipc,Jvm,Ipc,我有两个Java程序,每个都运行在自己的JVM实例中?它们可以使用任何IPC技术(如共享内存或管道)相互通信吗?有办法吗 是;并且都易于使用,并且跨平台。D-BUS适用于通用消息传递IPC,以及用于发送批量数据的管道 如果需要支持多个客户端连接到中央服务器,还可以在本地主机上打开TCP或UDP套接字 我还发现了一个,尽管它需要JNI。 Java远程方法调用(Java RMI)使程序员能够创建基于Java技术到基于Java技术的分布式应用程序,其中远程Java对象的方法可以从其他Java虚拟机*(

我有两个Java程序,每个都运行在自己的JVM实例中?它们可以使用任何IPC技术(如共享内存或管道)相互通信吗?有办法吗

是;并且都易于使用,并且跨平台。D-BUS适用于通用消息传递IPC,以及用于发送批量数据的管道

如果需要支持多个客户端连接到中央服务器,还可以在本地主机上打开TCP或UDP套接字

我还发现了一个,尽管它需要JNI。


Java远程方法调用(Java RMI)使程序员能够创建基于Java技术到基于Java技术的分布式应用程序,其中远程Java对象的方法可以从其他Java虚拟机*(可能在不同的主机上)调用。RMI使用对象序列化封送和解封送参数,不截断类型,支持真正的面向对象多态性。

当然。看看RMI或类似的共享内存概念。

使用JavaNIO中的MemoryMappedByteBuffer在进程之间共享内存

对于来自Apache的柱状(即基于数组的)数据的语言无关IPC,有一个相当新的倡议,称为

到目前为止(9月17日),还没有JVM绑定,但由于该项目得到了Spark等公司的支持,我认为不久我们就会看到一个实现

然而,我的理解是,没有一个通用的IPC系统,因为它面向共享原语数组,如
double
long
,用于科学计算,而不是类/对象;虽然我可能错了。 另一方面,它也是语言不可知的,因此您可以使用它与另一个(非JVM)运行时通信。然而,OP确实要求使用Java IPC,因此这可能是无关紧要的