Extensions like the Real-Time Specification for Java (RTSJ) enable the use of Java in more and more time-critical application domains. The RTSJ enables the development of realtime code in Java even though a classical garbage collector causes unpredictable pauses to non-realtime code.
This paper gives an overview of how a modern realtime garbage collectors operates. It presents the impact the presence of such a realtime garbage collector has on the development of complex applications that need to perform time-critical and non-time-critical tasks. The use of realtime garbage collection technology simplifies the application development even in systems that do not use dynamic memory allocation within realtime code.