RMI网络编程开发之一 JAVA“进程间”通信方式

来源:互联网 发布:oracle数据库下载64位 编辑:程序博客网 时间:2024/05/19 20:22


注意该标题是 “进程”间通信,而并非“线程“之间的通信。

线程之间的通信是多线程的讨论范畴。这里我们是要讨论分布式的独立的JAVA程序之间是怎么通信的。当然,大家都会先想到SOCKET。对的,SOCKET在网络编程中是不可以被忽略的。socket是两台主机之间的一个连接,而JAVA中的SOCKET类为不同主机之间的连接提供了功能封装。

所以,SOCKET是进程间通信的一种常用方法。

让我们变得更原始一点,如果同一台主机不同程序之间是怎么交换数据的呢?

嗯,邮递员送信的网络知识,让我们很容易想到,把数据放到一个共享的地方就行。

A程序把数据存到硬盘的某个文件txt,然后B程序在去打开这个txt读取内容。这样子是不是很理想呢?

所以,存取文件,不失为一个通信的巧手段。

嗯,既然我们可以共享磁盘,那我们也可以共享内存,JMS的 queue 应该也可以实现通信的目的,

还有管道等概念。

讲了那么多,其实想引出来的,无非是RMI,RMI并不是最本质的东西。SOCKET是它的基础。

RMI是sun开发,遵循JRMP协议,因为他被发布在jre中,所有很多人只把它当作很普通的api来使用,所以它里面做了什么,很多人都不清楚.

RMI到底是什么?

  • RMI是一套足够优秀的socket框架.
  • RMI是相对比较简单命名服务
  • RMI是aop的经典实用例子
  • 相关辅助功能,比如本地GC

总之,RMI也是一个重要的通信手段。

本文出自 “JAVAWeb开发” 博客,请务必保留此出处http://6221123.blog.51cto.com/6211123/1111871

0 1
原创粉丝点击