Real-time Java: Difference between revisions

Content deleted Content added
No edit summary
Line 1:
'''Real time Java''' is a catch-all term for a combination of technologies that allowsenables programmers to write [[Computer program|program]]s that meet the demands of [[Real-time computing|real-time]] [[systems]] in the [[Java (programming language)|Java programming language]].
 
Java's sophisticated [[memory management]], native support for [[Thread (computer science)|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:
 
* Real time Java supports a strict [[Preemption_(computing)|priority based]] [[Thread (computer science)|threading]] model.,
* Becausebecause Java threads support priorities, Java [[Lock (software engineering)|locking]] mechanisms support [[priority inversion]] avoidance techniques, such as [[priority inheritance]] or the [[priority ceiling protocol]]., and
* event handling.
 
To overcome typical real time difficulties, the [[Java Community Process|Java Community]] introduced a specification for real-time Java, JSR001. A number of implementations of the resulting ''[[Real-time specification for Java|Real-Time Specification for Java]]'' (RTSJ) have emerged, including a [[Reference implementation (computing)|reference implementation]] from [[TimeSys|Timesys]], [[IBM]]'s WebSphere Real Time, [[Sun Microsystems]]'s Java SE Real-Time Systems,<ref>[http://java.sun.com/javase/technologies/realtime/index.jsp Java SE Real-Time Systems]</ref> [[Aonix]] PERC 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==
Line 21 ⟶ 22:
 
==External links==
* [http://aicas.com/cms/en/rtsj Real-Time Specification for Java 2.0 (RTSJ 2.0)]
* [http://jcp.org/en/jsr/detail?id=282 JSR-282]
* [http://www.rtsj.org/ Real-Time Specification for Java (RTSJ)]
* [http://jcp.org/en/jsr/detail?id=1 JSR-1]