【发布时间】:2011-05-02 09:43:54
【问题描述】:
似乎只有少数 JVM 是 Real-Time Specification for Java (RTSJ) 的实现。 Sun/Oracle Java Real-Time System 超过 6000 美元,IBM 的实时 WebSphere 超过 7000 美元,因此许多 Java 开发人员可能永远没有机会使用它们中的任何一个。 Oracle 的 JRockit 似乎是一个免费的实时 Java 实现,具有可预测的、确定性的行为,尽管我不确定,因为他们的文档在营销语言上相当繁重。由于由小型组织开发并且用户群较小,其他较小的实时 JVM 似乎存在风险。
首选哪些实时 JVM?哪些是最受开发者使用、信任和喜爱的?
【问题讨论】:
-
Sun JVM有试用版,如果你正在做一些研究项目,你也可以申请学术使用。 JRockit 看起来根本不像一个 RTSJ 系统,它没有实现它。可能它会提供一些软实时的特性,比如确定性垃圾收集器,但看起来这就是它的全部。您的延迟要求是什么?如果不小于 ~200 微秒,即使没有 JRT 也可以实现。
-
实际上,在 Ubuntu 上使用 OpenJDK,我在轮询中测量到了大量的抖动。往返发送/接收时间约为 17 毫秒,在相对较少的轮询中存在大约相同数量的抖动。显然,硬件在抖动方面有很大的影响,而且我的要求将与其他人的要求大不相同,所以我想避开它们并获得有关实时 JVM 的一般答案。我希望通过首先找到一个可信的、可预测的、确定性的 JVM 来学习和提供有关实时 Java 开发的信息。
-
在纯 C 中进行的相同轮询仅产生 ~10% 的抖动。
-
JRockit 可能最好被称为“软实时”JVM,并且不会尝试提供 RTSJ 合规性。它与您引用的其他 JVM 不在同一个领域。
-
我已经注意到 Oracle 似乎已经终止了 JavaRTS 产品(2012 年 3 月)的一些相关问题,但没有任何可用的公开信息。