java进程间通信
2016-05-24 17:17
330 查看
Java进程间通信可以采用的办法:
Socket/RMI/WEBService/WebServer, 这些都可以实现直接的数据交换
Database/File, 这些可以实现间接的数据交换
看你的业务是否要求实时, 如果不需要, 用数据库交换比较简单
除了Socket之外,当然首选的IPC可以使用RMI,或者CORBA也可以。
其实JAVA的CORBA实现也是通过RMI来实现的,而RMI归根结底也是靠Socket来实现的。
所以说JAVA进程间通信的最基本手段是Socket也不为过。
线程间通信:
可以直接传入共享的变量来实现
如果是两台电脑通讯...一切都是socket...什么mina啊,mq啊,http啊,都能实现啊
如果是本地,那方法就多了,文件,数据库,内存...
可以使用actor模型的java或者scala实现,现在Akka和JActor都可以试试,不过建议你使用Akka,有Java版API,使用也很简单,性能也可以。
传统的进程间通信的方式有大致如下几种:(1) 管道(PIPE) (2) 命名管道(FIFO) (3) 信号量(Semphore) (4) 消息队列(MessageQueue) (5) 共享内存(SharedMemory) (6) Socket
Java如何支持进程间通信。我们把Java进程理解为JVM进程。很明显,传统的这些大部分技术是无法被我们的应用程序利用了(这些进程间通信都是靠系统调用来实现的)。但是Java也有很多方法可以进行进程间通信的。
除了上面提到的Socket之外,当然首选的IPC可以使用Rmi,或者Corba也可以。另外Java nio的MappedByteBuffer也可以通过内存映射文件来实现进程间通信(共享内存)。
Socket/RMI/WEBService/WebServer, 这些都可以实现直接的数据交换
Database/File, 这些可以实现间接的数据交换
看你的业务是否要求实时, 如果不需要, 用数据库交换比较简单
除了Socket之外,当然首选的IPC可以使用RMI,或者CORBA也可以。
其实JAVA的CORBA实现也是通过RMI来实现的,而RMI归根结底也是靠Socket来实现的。
所以说JAVA进程间通信的最基本手段是Socket也不为过。
线程间通信:
可以直接传入共享的变量来实现
如果是两台电脑通讯...一切都是socket...什么mina啊,mq啊,http啊,都能实现啊
如果是本地,那方法就多了,文件,数据库,内存...
可以使用actor模型的java或者scala实现,现在Akka和JActor都可以试试,不过建议你使用Akka,有Java版API,使用也很简单,性能也可以。
传统的进程间通信的方式有大致如下几种:(1) 管道(PIPE) (2) 命名管道(FIFO) (3) 信号量(Semphore) (4) 消息队列(MessageQueue) (5) 共享内存(SharedMemory) (6) Socket
Java如何支持进程间通信。我们把Java进程理解为JVM进程。很明显,传统的这些大部分技术是无法被我们的应用程序利用了(这些进程间通信都是靠系统调用来实现的)。但是Java也有很多方法可以进行进程间通信的。
除了上面提到的Socket之外,当然首选的IPC可以使用Rmi,或者Corba也可以。另外Java nio的MappedByteBuffer也可以通过内存映射文件来实现进程间通信(共享内存)。
相关文章推荐
- java单例模式的代码例子
- 深入分析Spring 与 Spring MVC容器
- 解决eclipse manven项目添加不了maven dependencis
- SpringMVC经典必看——使用 Spring2.5注释详解(@Autowired、@Resource 、@PostConstruct、PreDestroy 和 @Component)
- java-xwiki restful接口简单测试
- springmvc+spring+mybatis整合案例 [first]
- 【JavaLearning】接口与抽象类的比较(The comparison of Interface and Abstract Class )
- java关键字-final语义
- 使用Proguard混淆java源代码
- 【Java基础】容器
- Spring 使用注解方式进行事务管理
- Java-泛型
- Java线程并发中常见的锁机制详细介绍
- java同步锁(synchronized)
- 【47】java的类之间的关系:泛化、依赖、关联、实现、聚合、组合
- 【47】java的类之间的关系:泛化、依赖、关联、实现、聚合、组合
- 【47】java的类之间的关系:泛化、依赖、关联、实现、聚合、组合
- Java之访问子类对象的实例变量
- Java中单链表的部分操作总结
- java 中 阻塞队列 非阻塞队列 和普通队列的区别是什么?