RMI 和 Corba 有什么区别?
可能的重复:
RMI 和 CORBA 差异?
RMI 和 Corba 之间有什么区别?
Possible Duplicate:
RMI and CORBA Differences?
What is the difference between RMI and Corba?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
RMI 是Java 特有的技术。 CORBA 有多种语言的实现。您可以使用CORBA 在不同语言(例如C++ 和Java)编写的程序之间共享对象。
CORBA 使用 IDL(接口定义语言)将接口与实现分开。 RMI 仅使用 Java 接口。
因为 CORBA 不依赖于特定的语言,所以数据类型并不总是精确地映射到您的编程语言所使用的类型(例如,IDL 中的 long 是 Java 中的 int)。
RMI 程序可以从远程 JVM 下载新类。 CORBA没有这种代码共享机制。
已经有一段时间了,但我记得(从将 Java 应用程序从 CORBA 移植到 RMI)CORBA(或者至少是我们使用的实现)负责并发代码的许多必要同步,这是我们必须做的事情使用 RMI 时显式执行。
RMI 可以配置为通过 IIOP(CORBA 使用的协议)进行操作。
RMI is a Java-specific technology. CORBA has implementations for many languages. You can use CORBA to share objects between programs written in different languages (e.g. C++ and Java).
CORBA uses IDL (Interface Definition Language) to separate interface from implementation. RMI just uses Java interfaces.
Because CORBA is not tied to a particular language, the data types do not always map exactly to the types used by your programming language (e.g. a long in IDL is an int in Java).
RMI programs can download new classes from remote JVMs. CORBA doesn't have this code sharing mechanism.
It's been a while, but I remember (from porting a Java app from CORBA to RMI) that CORBA (or at least the implementation we were using) took care of a lot of the necessary synchronization for concurrent code, which was something we had to do explicitly when using RMI.
RMI can be configured to operate over IIOP (the protocol used by CORBA).