我对java很陌生,只是开始使用Eclipse来运行一些实时java程序。我找不到javax.realtime
导入,我收到错误:
The import javax.realtime cannot be resolved
知道如何解决这个问题吗?我需要下载任何额外的包或更改一些项目设置吗?
我对java很陌生,只是开始使用Eclipse来运行一些实时java程序。我找不到javax.realtime
导入,我收到错误:
The import javax.realtime cannot be resolved
知道如何解决这个问题吗?我需要下载任何额外的包或更改一些项目设置吗?
This package is not a part of built in packages. You will need additional Jar file for this package.
Check this link out.
是的,您需要一个实时 Java 库。
有一些用于嵌入式系统,来自 Oracle 的商业版本,带有试用下载等。
请注意,要真正从任何 javax.realtime 包(实现 Java 的实时规范)中获得实时性能,您几乎肯定还需要 1) 一个经过修改以与该 javax.realtime 包一起使用的 JVM,以及2)在实时操作系统上运行。
您当前使用的是什么 JVM?如果它恰好是 IBM WebSphere Real Time(可在 developerworks 上免费获得,网址为https://www.ibm.com/developerworks/java/jdk/linux/download.html:查找 WebSphere Real Time V3 for RT Linux) ,那么您还需要在 java 命令行上指定 -Xrealtime 以运行使用 javax.realtime 类的 Java 程序。
好吧,由于许多重要原因,Java 语言在实时系统 (RTS) 中的使用并不普遍。其中包括 Java 语言设计中固有的非确定性性能影响,具有动态类加载,以及 Java 运行时环境 (JRE) 本身,具有垃圾收集器和本机代码编译。因此,Java 实时规范 (RTSJ) 是一个开放规范,它使 Java 语言能够打开更广泛的大门并使用该语言来构建实时系统。
实时 (RT) 是一个广义术语,用于描述具有实际时序要求的应用程序。例如,不能满足普通用户的通用 RT 要求的非响应式用户界面。这种类型的应用程序通常被描述为软 RT 应用程序。相同的要求可能更明确地表述为“应用程序响应鼠标单击的时间不应超过 0.1 秒”。如果不满足要求,则为软故障:应用程序可以继续,用户虽然不满意,但仍然可以使用它。
现在,实现 RTSJ 需要操作系统、虚拟机或 JRE 和 Java 类库 (JCL) 的支持。
实时操作系统 (RTOS) 是一种操作系统 (OS),旨在为实时应用程序提供服务,这些应用程序在数据进入时对其进行处理,通常没有缓冲区延迟。
...
RTOS 的一个关键特性是它在接受和完成应用程序任务所需的时间量方面的一致性水平。可变性是抖动。
重要的是抖动被量化,系统被认为是实时的。从这篇 Wikipedia 文章中,我们知道如果抖动通常是有界的,则系统是软实时的。如果抖动总是有界的,则系统是硬实时的。
在通用操作系统上运行在通用 JVM 上的标准 Java 应用程序只能希望满足数百毫秒级别的软 RT 要求。该语言的几个基本方面负责:线程管理、类加载、即时 (JIT) 编译器活动和垃圾收集 (GC)。应用程序设计人员可以缓解其中一些问题,但只有通过大量工作才能解决。
您可以在此处从 IBM 下载用于 Java 8 的 RT 实现。
您还可以在本文档中找到更多信息。