22

似乎只有少数 JVM 是Java 实时规范 (RTSJ)的实现。Sun/Oracle Java Real-Time System 超过 6000 美元,IBM 的实时 WebSphere 超过 7000 美元,因此许多 Java 开发人员可能永远没有机会使用它们中的任何一个。Oracle 的 JRockit 似乎是一个免费的实时 Java 实现,具有可预测的、确定性的行为,尽管我不确定,因为他们的文档在营销语言上相当繁重。由于由小型组织开发且用户群较小,其他较小的实时 JVM 似乎存在风险。

首选哪些实时 JVM?哪些是最受开发者使用、信任和喜爱的?

4

4 回答 4

29

更新(2012 年 3 月):Oracle 似乎已经悄悄地拆散了他们的 JavaRTS 开发团队。

这个问题没有很好的答案。当然,没有足够的临界质量可以说存在当前最流行的 RT JVM。

我知道的美国国防系统使用JavaRTS、 IBM 的 WebSphere RT 和 PERC。航空平台使用 aicas JamaicaVM。迄今为止,这些人中的大多数人并不太关心许可成本。他们担心更高的项目风险。我使用过许多这样的程序,我发现这些产品质量很高,而且供应商(有时是非凡的)支持。

许多供应商都专注于特定的客户或领域,他们的设计和支持基础设施往往与此一致。如果您有特定的应用程序配置文件,也许我们可以为您提供更好的答案。

您提到的高昂许可成本反映了这些产品的用户对这些产品的高期望,以及相对较低的需求密度。开发人员社区(例如它)也更加分散,因为具有实时或安全关键约束的系统通常具有更高的敏感性(国防、航空、SCADA)或受保护的专有价值(汽车)或两者兼而有之。一年一度的JTRES 会议是实时 Java 理论和实践的一个极好的论坛,这是一个由学者和精通技术的供应商组成的紧密团体。

与 SO 相关:Primitives-only in Java使用 RTSJ

于 2010-11-03T01:37:06.533 回答
8

确实,实现RTSJ的虚拟机很少。Oracle 的 JavaRT、IBM 的实时 WebSpere 和 aicas JamaicaVM,但来自 Atego 的 PERC 不是其中之一,甚至远程都不是。PERC 有一些用于实时编程的专有扩展。Oracle 的 JRocket 也不是实时 VM。

尽管 PERC 和 JamaicaVM 都来自比 IBM 或 Oracle 更小的公司,但它们都拥有庞大的用户群。大多数开发人员对 PERC 和 JamaicaVM 不太熟悉,因为它们主要用于嵌入式应用程序,而不是桌面或服务器应用程序。JamaicaVM 已被波音、西门子、蔡司和洛克希德马丁等大公司使用,并且已经上市十多年。

如果您想试用 Java 的实时规范,那么您可以下载 JamaicaVM 个人添加。它可以在网络上的任何 Linux 平台上使用。它可从“ http://www.aicas.com/jamaica-pe.html ”免费获得。

JamaicaVM 不仅支持 . RTSJ,而且还具有完全抢占式垃圾收集器。这意味着人们可以编写实时代码,而不必求助于使用范围和不朽的内存区域。JamaicaVM 还具有静态或提前(AoT) 编译器,因此 JIT 编译器不会抑制实时性能。人们仍然可以使用RTSJRealtimeThreads的、RawMemoryAccessAsyncEventHandlers和其他促进实时编程的特性。

于 2012-06-23T14:18:05.943 回答
2

尽管Azul Zing不是 RTSJ 实现(而是 J2SE 实现),但他们声称由于无停顿的C4垃圾收集器,该 JVM 能够运行实时应用程序。

更多关于C4

于 2014-11-27T07:56:18.267 回答
0

Aonix 拥有最常用的 RTSJ 实现。他们拥有从 CDC 到 Java SE 级别的各种实时 Java 解决方案。

于 2010-10-30T09:39:17.533 回答