返回介绍

A.7 总结

发布于 2024-10-15 23:56:38 字数 656 浏览 0 评论 0 收藏 0

我们在这个附录讨论的都是从一个 Java 应用里调用非 Java 代码最基本的技术。每种技术都有自己的优缺点。但目前最主要的问题是并非所有这些特性都能在所有 JVM 中找到。因此,即使一个 Java 程序能调用位于特定平台上的固有方法,仍有可能不适用于安装了不同 JVM 的另一种平台。

Sun 公司提供的 JNI 具有灵活、简单(尽管它要求对 JVM 内核进行大量控制)、功能强大以及通用于大多数 JVM 的优点。到本书完稿时为止,微软仍未提供对 JNI 的支持,而是提供了自己的 J/Direct(调用 Win32 DLL 函数的一种简便方法)和 RNI(特别适合编写高效率的代码,但要求对 JVM 内核有很深入的理解)。微软也提供了自己的专利 Java/COM 集成方案。这一方案具有很强大的功能,且将 Java 变成了编写 COM 服务器和客户的有效语言。只有微软公司的编译器和 JVM 能提供对 J/Direct、RNI 以及 Java/COM 的支持。

我们最后研究的是 CORBA,它使我们的 Java 对象可与其他对象沟通——无论它们的物理位置在哪里,也无论是用何种语言实现的。CORBA 与前面提到的所有技术都不同,因为它并未集成到 Java 语言里,而是采用了其他厂商(第三方)的集成技术,并要求我们购买其他厂商提供的 ORB。CORBA 是一种有趣和通用的方案,但如果只是想发出对操作系统的调用,它也许并非一种最佳方案。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文