This document compares the performance of different garbage collection techniques for real-time systems in Java. It discusses how reference counting and generational garbage collection have different worst-case allocation characteristics. The default real-time garbage collector in Java is fully concurrent and avoids stop-the-world phases. On multiprocessors, one CPU can perform garbage collection while other CPUs run application threads, avoiding the need to boost the collector's priority. A proposed hardware-based approach uses a bitmap processor and DRAM cells to improve memory management performance and predictability for real-time systems. Evaluation shows this approach can eliminate the need for a garbage collector in tested applications and reduce memory usage by 77%.