确实,实现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
的、RawMemoryAccess
、AsyncEventHandlers
和其他促进实时编程的特性。