Dr. Greg Bollella has a passion for Precision and Predictability.
Bollella, the Father of Real-Time Java, has been talking to a lot of customers lately. Customers in finance and telecommunication as well as the military, aerospace, and other industrial-control applications -- all of them interested in using real-time Java.
Here is one of his session.
Java RTS brings the world of real-time programming to developers currently using Java technology to create applications that involve the physical world. For either audience, Java RTS offers a very predictable, low-latency, modern software architecture that can bring the core benefits of Java technology to developers whose applications interact with the physical world.
The RTSJ introduces the concept of two new threads: real-time threads and no-heap real-time threads (a thread which cannot be interrupted by garbage collection). These threads offer more precise scheduling than with standard Java threads. They have 28 levels of priority and unlike standard Java, their priority is strictly enforced.
Real-time threads are synchronized and are not subject to so-called priority inversion situations, where a lower priority thread has a block on a resource needed by a higher priority thread and thus prevents the higher priority thread from running. Rigorous testing with partners has shown that Java RTS completely avoids any priority inversions - which is crucial for mission-critical applications.