哪种实时 (RTSJ) JVM 最受青睐?

发布于 2024-09-29 22:50:57 字数 1539 浏览 7 评论 0原文

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

最舍不得你 2024-10-06 22:50:57

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

这个问题没有一个好的答案。当然,还没有足够的临界点来证明存在当前最流行的 RT JVM。

据我所知,美国国防系统使用 JavaRTS、IBM 的 WebSphere RT 和 PERC。航空平台使用aicas JamaicaVM。到目前为止,大多数人并不太关心许可成本。他们担心更高的计划风险。我参与过许多这样的项目,我发现这些产品质量很高,并且有来自供应商的(有时是非同寻常的)支持。

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

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

与SO相关:Java中仅基元谁使用 RTSJ

Update (March 2012): Oracle appears to have quietly disassembled their JavaRTS development team.

There isn't a good answer to this question. There certainly isn't enough critical mass to say there's a current most-popular RT JVM.

US Defense systems I'm aware of use JavaRTS, IBM's WebSphere RT, and PERC. Aviation platforms use aicas JamaicaVM. Most of those folks haven't been too concerned about licensing costs, to date. They are concerned by much higher program risks. I've worked with a number of these programs, and I find that the products are of high quality, and there is (at times extraordinary) support from the vendors.

Many of the vendors have focused on specific clients or domains, and their designs and support infrastructure tend to fall in line with that. If you have a specific application profile in mind, maybe we can get you a better answer.

The high licensing costs you cite reflect the high expectations users of these products have, and the relatively low density of the demand. The developer community (such as it is) is also more fragmentary because systems with real-time or safety-critical constraints are typically of greater sensitivity (defense, aviation, SCADA) or protected proprietary value (automotive) or both. One excellent forum for real-time Java theory and practice is the annual JTRES conference, which is a close-knit group of academics and technically-savvy vendors.

Related on SO: Primitives-only in Java, who uses RTSJ.

蝶…霜飞 2024-10-06 22:50:57

确实,只有少数虚拟机实现了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的其他功能来促进实时编程。

It is true, that there are only few virtual machines that implement the RTSJ. Oracle's JavaRT, IBM's real-time WebSpere, and aicas JamaicaVM, but PERC from Atego is not one of them, not even remotely. PERC has some proprietary extensions for realtime programming instead. Oracle's JRocket is also not a realtime VM.

Both PERC and JamaicaVM, although they are both from smaller companies than IBM or Oracle, have substantial user bases. Most developers are less familiar with PERC and JamaicaVM because they are used primarily for embedded applications, not desktop or server ones. JamaicaVM is being used by major corporations such as Boeing, Siemens, Zeiss, and Lockheed Martin and it has been on the market for over ten years.

If you would like to try out the Real-Time Specification for Java, then you can download the JamaicaVM Personal Addition. It can be used on any Linux platform that is on the network. It is available from "http://www.aicas.com/jamaica-pe.html" free of charge.

The JamaicaVM not only supports the RTSJ, but also it has a fully preemptive garbage collector. This means that one can write realtime code without having to resort to using scoped and immortal memory areas. JamaicaVM also has a static or ahead of time (AoT) compiler, so that realtime performance is not inhibited by a JIT compiler. One can still use RealtimeThreads, RawMemoryAccess, AsyncEventHandlers, and other features of the RTSJ that promote realtime programming.

智商已欠费 2024-10-06 22:50:57

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

有关 C4 的更多信息:

Despite Azul Zing is not an RTSJ implementation (but rather a J2SE implementation), they claim this JVM is capable of running real-time applications due to the pauseless C4 garbage collector.

More on C4:

人生百味 2024-10-06 22:50:57

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

Aonix has most used RTSJ implementation. They have a wide range of real-time java solutions from CDC to Java SE level.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文