5

我想知道 JRE6 和 rtsj 的 JVM 之间的互操作性如何。看来我只能使用它们的实现(因为代码将使用它们的 JVM 来解释),所以我不能使用 Java 6 必须提供的许多特性。它可以支持图形用户界面吗?(例如修改工业过程的参数)。

我可能是错的,希望得到你的一些反馈。

此外,Java 似乎是更实时的实现。你用过哪一个,你最喜欢哪一个?

4

3 回答 3

3

为了提供实时行为,JVM 需要经过专门设计。这包括在操作系统级别进行集成,以访问主机操作系统的实时调度功能。

例如,Sun 实时 JVM 与 J2SE5 兼容。http://java.sun.com/javase/technologies/realtime/faq.jsp#4

通常,任何提供小众功能(如安全性或实时行为)的系统(OS、JVM 等)的专用实例往往是通用版本之后的发布。

至于使用实时 GUI,您应该使用 JMX、RMI 或 Web 服务(以最轻量级为准)之类的东西来研究使用实时过程的 2 层客户端-服务器控制。在实时代码中直接使用 GUI 似乎会给应用程序带来许多潜在问题,因为它试图在实时约束下执行。

于 2009-02-16T14:38:50.693 回答
3

有关RTSJ 商业级实现的更多示例,请参阅我对另一个问题的回答。最新版本 (2.1) 与 JDK1.5 兼容,因此您应该可以使用 Swing/AWT。

虽然编写 GUI 以在与实时进程相同的 JVM 中执行是可行的,但尚不清楚这是否是一个好的架构决策。您更有可能更喜欢隔离 JVM 中的实时行为,并提供一个可分离的接口,该接口在单独的内存空间中实现 GUI。

原则上,您应该能够编写 RTSJ 代码,使其在具有非实时线程的同一个 JVM 中运行(我已经做了很多这样的工作),但要正确同步可能很困难。

于 2009-04-10T02:29:53.203 回答
0

正如本书所描述的,Sun Java 的 JRE 和 rtsj 实现之间可以有互操作性。

于 2009-02-04T13:14:59.617 回答