返回介绍

A.5.2 MS Java/COM 集成

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

同 C++/COM 程序员相比,Microsoft Java 编译器、虚拟机以及各式各样的工具极大简化了 Java/COM 程序员的工作。编译器有特殊的引导命令和包,可将 Java 类当作 COM 类对待。但在大多数情况下,我们只需依赖 Microsoft JVM 为 COM 提供的支持,同时利用两个有力的外部工具。

Microsoft Java Virtual Machine(JVM)在 COM 和 Java 对象之间扮演了一座桥梁的角色。若将 Java 对象创建成一个 COM 服务器,那么我们的对象仍然会在 JVM 内部运行。Microsoft JVM 是作为一个 DLL 实现的,它向操作系统展示出了 COM 接口。在内部,JVM 将对这些 COM 接口的函数调用映射成 Java 对象中的方法调用。当然,JVM 必须知道哪个 Java 类文件对应于服务器执行模块;之所以能够找出这方面的信息,是由于我们事前已用 Javareg 在 Windows 注册表内注册了类文件。Javareg 是与 Microsoft Java SDK 配套提供的一个工具程序,能读入一个 Java 类文件,生成相应的类型库以及一个 GUID,并可将类注册到系统内。亦可用 Javareg 注册远程服务器。例如,可用它注册在不同机器上运行的一个服务器。

如果想写一个 Java/COM 客户,必须经历一系列不同的步骤。Java/COM“客户”是一些特殊的 Java 代码,它们想激活和使用系统内注册的一个 COM 服务器。同样地,虚拟机会与 COM 服务器沟通,并将它提供的服务作为 Java 类内的各种方法展示(揭示)出来。另一个 Microsoft 工具是 jactivex,它能读取一个类型库,并生成相应的 Java 源文件,在其中包含特殊的编译器引导命令。生成的源文件属于我们在指定类型库之后命名的一个包的一部分。下一步是在自己的 COM 客户 Java 源文件中导入那个包。

接下来让我们讨论两个例子。

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

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

发布评论

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