Bitte wählen Sie ihr Lieferland und ihre Kundengruppe
By using the Real-Time Specification for Java (RTSJ), developers can eliminate unpredictable latencies introduced by the garbage collector, exercise full control over thread priorities, and handle asynchronous events with ease. This class identifies the drawbacks of deploying conventional Java in a real-time system and how the RTSJ solves them. Using working code examples, the talk explores the new classes that a Java Virtual Machine (JVM) supporting the RTSJ provides. The class also examines recent work on safety-critical profiles of the RTSJ and the use of tools for correctness verification. RTSJ now provides a standard that enables the development of time critical software using the Java language. Commercial implementations exist from at least three vendors. Java technology can now be used for programming embedded and realtime systems. RTSJ also brings new difficulties to the developer. The most important consequence is that applications have to be split strictly into two parts: a realtime and a non realtime part. Communication between these parts is restricted. Realtime threads cannot perform memory operations such as the allocation of objects on the normal heap which is under the control of the garbage collector. Synchronization between realtime non realtime threads is limited since sharing a monitor with a normal Java thread would allow the realtime threads to blocked by the garbage collector (GC). The advantages of using the features of Java technology and the RTSJ are higher when realtime GC is used, since it does not oblige realtime threads to suffer from the restriction of not using the heap. Realtime GC along with the RTSJ bring the full benefits of Java technology to the development of realtime systems.