当前位置:首页 > 开发 > 编程语言 > Java > 正文

java rmi使用后的感想

发表于: 2014-04-17   作者:店小二儿   来源:转载   浏览:
摘要:        由于我的程序设计中需要应用RMI 所以这段时间对RMI进行了一下研究。写一些感想, 对于什么是RMI之类的就省略了。   下边连接是RMI的用法,需要的朋友可以看一看http://haolloyin.blog.51cto.com/1177454/332426   我们这里介绍一下其中的一

       由于我的程序设计中需要应用RMI 所以这段时间对RMI进行了一下研究。写一些感想, 对于什么是RMI之类的就省略了。

 

下边连接是RMI的用法,需要的朋友可以看一看http://haolloyin.blog.51cto.com/1177454/332426

 

我们这里介绍一下其中的一些小的知识,

1. 什么情况下用RMI

    由于RMI 有显著的两个缺点,

    一个是性能,早在很久对于分布式java而引出的webservice 和 SOA等理念,RMI就被抛弃了,当然这不是绝对的,对于小的子程序来说 RMI 还是有他的作用的。

    二是RMI的硬性要求就是 CS两端都必须是java,所以对于语言跟着需求走的我们来说,这个可能是最大的困扰。

    现在更多应用RMI的还是EJB 和 SPRING中的RMI

 

2. RMI中的存根与骨架

    这是一个很老的问题了,在现在的JDK版本中,已经把骨架整合了,完全不需要我们处理,至于存根,其实就是远程对象的本地引用,也就是本地通过 LocateRegistry中的 getRegistry 方法获取 远程主机中的注册表Registry,通过Registry对象的lookup找到远程对象的引用,我们在本地应用远程对象(实际是接口)中的方法来解决问题,这也是符合RMI的注册/服务的原则。

    当然,我们也可以用Naming来做这些操作,但所有的无非是 注册+得到注册;

 

3. Remote接口作用

    他完全是一个标记,类似io中的Serializable,起一个标记作用,告诉这是一个远程接口

 

4. UnicastRemoteObject这个类的作用

    做程序的时候总是想问这个是干嘛的为啥一定要用?结论是:他是一个解包,封包的作用,我们知道,网络传输数据再怎么说也是socket连接,而这个类就是对数据的进行封装的,例如传参数,得到返回值等等,当然还有其他的作用,没必要一一解说。

 

5. Naming和Registry中的相同的函数

    我们知道Registry是远程注册表,而Naming是Sun做出的对注册表的操作,他们的本质我不敢说一样(我没看太多的源码),但是操作的意义大致是一样的,所以没必要纠结用那一个。

 

我第一次写blog,所以有什么不对的请指出,也是对我学习的帮助,多谢..........

 

java rmi使用后的感想

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号