This paper presents our experience implementing the memory management extensions in the Real-Time Specification for Java.
These extensions are designed to given real-time programmers the control they need to obtain predictable memory system behavior
while preserving Java’s safe memory model.We describe our implementation of certain dynamic checks required by the Real-Time
Java extensions. In particular, we describe how to perform these checks in a way that avoids harmful interactions between
the garbage collector and the memory management system. We also found that extensive debugging support was necessary during
the development of Real-Time Java programs. We therefore used a static analysis and a dynamic debugging package during the
development of our benchmark applications.