Real-time Java is a catch-all term for a combination of technologies that enables programmers to write programs that meet the demands of real-time systems in the Java programming language.

Java's sophisticated memory management, native support for threading and concurrency, type safety, and relative simplicity have created a demand for its use in many domains. Its capabilities have been enhanced to support real-time computational needs:

The initial proposal[1] for an open standard for real-time Java was put forth by Kelvin Nilsen, then serving as a research faculty member at Iowa State University. A follow-on overview paper was published in the Communications of the ACM.[2] The overwhelmingly positive response to these early proposals resulted in a series of meetings hosted by the National Institute of Standards and Technology in an effort to establish an open standard for real-time Java. NIST was ultimately told that they were not the appropriate body to establish standards related to the Java language, as Java was trademarked, and the technologies were owned by Sun Microsystems. Therefore, NIST ended their efforts with publication of consensus requirements.[3] that could be considered by future standardization efforts to be hosted by Sun Microsystems.

When the Java Community was formed, the very first effort was the specification for real-time Java, JSR001. A number of implementations of the resulting Real-time specification for Java (RTSJ) have emerged, including a reference implementation from Timesys, IBM's WebSphere Real Time, Sun Microsystems's Java SE Real-Time Systems,[4] PTC Perc from PTC, Inc.,[5] or JamaicaVM from aicas.

The RTSJ addressed the critical issues by mandating a minimum specification for the threading model (and allowing other models to be plugged into the VM) and by providing for areas of memory that are not subject to garbage collection, along with threads that are not preemptable by the garbage collector. These areas are instead managed using region-based memory management. The latest specification, 2.0, supports direct device access and deterministic garbage collection as well.

Real-Time Specification for Java

edit

The Real-Time Specification for Java (RTSJ) is a set of interfaces and behavioral refinements that enable real-time computer programming in the Java programming language. RTSJ 1.0 was developed as JSR 1 under the Java Community Process, which approved the new standard in November, 2001. RTSJ 2.0 is being developed under JSR 282. A draft version is available at a JCP page.[6] More information can be found from Aicas.[7]

See also

edit

References

edit
  1. ^ "Issues in the Design and Implementation of Real-Time Java" (PDF). Archived from the original (PDF) on 2017-08-09.
  2. ^ Nilsen, Kelvin (1998). "Adding real-time capabilities to Java". Communications of the ACM. 41 (6): 49–56. doi:10.1145/276609.276619.
  3. ^ "Information Technology Laboratory" (PDF). NIST. 28 April 2015.
  4. ^ "Sun Java Real-Time System". java.sun.com.
  5. ^ "Real-Time Java with PTC Perc | PTC".
  6. ^ https://www.jcp.org/en/jsr/detail?id=282 JSR 282
  7. ^ "Real-Time Specification for Java | aicas.com". Archived from the original on 2015-05-26. Retrieved 2025-02-17.
edit

📚 Artikel Terkait di Wikipedia

Real-time computing

libraries exist that offer real-time capabilities in a high-level language on a variety of operating systems, for example, Real-time Java. Later microprocessors

Java processor

embedded and real-time systems that are programmed in Java". However, as of 2017, embedded Java is no longer common and no realtime Java chip vendors

List of Java APIs

(API) Game engines Slick jMonkey Engine JPCT Engine LWJGL Real-time libraries Real time Java is a catch-all term for a combination of technologies that

Real-time

scan Real-time text, transmitted as it is being typed or produced Real-time Java, for real-time programs in Java programming language Real-time disk encryption

Region-based memory management

Management for Real-Time Java Embedded Systems". RTCSA '07: Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems

Ahead-of-time compilation

Excelsior JET – Certified Java SE Implementation with AOT compiler GNU Compiler for Java AOT compilation of asm.js Real-time Java, Part 2: Comparing compilation

Java (programming language)

(WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are usually compiled

List of Java virtual machines

high-performance Java virtual machine based on OpenJDK that uses Azul Systems's C4 garbage collector and Falcon JIT compiler. JamaicaVM (aicas) – a hard real-time Java