哪个实时(RTSJ)JVM最受欢迎?

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

哪些实时JVM更受欢迎? 开发人员最常使用,信任和喜爱哪些?

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

这个问题没有一个好的答案。 肯定没有足够的临界质量来说当前最受欢迎的RT JVM。

美国国防系统我知道使用JavaRTS, IBM的WebSphere RT和PERC。 航空平台使用aicas JamaicaVM。 到目前为止,大多数人并不太关心许可费用。 他们担心更高的计划风险。 我已经与许多这些程序合作,我发现这些产品质量很高,而且供应商提供(有时非常)支持。

  • AN / FPS-85雷达使用JavaRTS ,虽然这是一个相对较低的数量,但它是一个相当高的关键性应用
  • 美国海军的宙斯盾武器系统使用PERC
  • 美国海军的DDG-1000使用IBM WebSphere RT
  • aicas的JamaicaVM正在航空电子平台上使用 ,但他们对细节的理解是可以理解的

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

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

与SO相关: 仅在Java 中使用RTSJ的 Primitives 。

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

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

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

JamaicaVM不仅支持RTSJ ,而且还有一个完全抢先的垃圾收集器。 这意味着可以编写实时代码而无需使用范围和永久内存区域。 JamaicaVM还具有静态或提前 (AoT)编译器,因此JIT编译器不会禁止实时性能。 人们仍然可以使用RealtimeThreadsRawMemoryAccessAsyncEventHandlers以及促进实时编程的RTSJ的其他function。

如果您想尝试使用RTSJ,JamaicaVM将免费提供非商业版本。 它适用于x86上的linux。 您可以在aicas的网页上找到对此的参考:www.aicas.com。

尽管Azul Zing不是RTSJ实现(而是J2SE实现),但他们声称这个JVM能够运行实时应用程序,因为C4无垃圾收集器。

更多关于C4

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