Den kanske viktigaste egenskapen hos programspråket Java när det lanserades var det faktum att programmeraren inte behövde engagera sig i att reservera och avboka minne. Detta sköts automatiskt i en process som kallas skräpsamling.
Manuell skräpsamling är en mycket vanlig orsak till buggar i programspråk som C och C++. Automatisk skräpsamling leder å andra sidan till att Javaprogram då och då utan förvarning stannar upp med ett ryck för att återvinna minne. Vilket saboterar realtiden.
Det finns redan idag skräpsamlare för Java som arbetar i realtid, exempelvis i den svenska teknik Bea Systems använder i sin Javaserver Weblogic Real-Time. Tekniken är att köra skräpsamlaren som en lågprioriterad tråd.
Sun ger sig dock in i matchen med betydligt bättre prestanda: man lovar att fördröja realtidsresponser med högst 120 µs där Weblogic bara lovar högst 30 ms.
Realtid i handlar inte bara om skräpsamling. Den som bygger inbyggda system i Java kanske hellre stänger av skräpsamlingen och skriver sitt program så att minne aldrig behöver återvinnas.
På det viset kan man få ännu bättre realtidsegenskaper. I RTS 2.0 stänger man av skräpsamlingen genom att man deklarerar en programtråd som en NoHeapRuntimeThread. En sådan tråd ska ha en responstid på några tiotals mikrosekunder när Javamaskinen körs i operativsystemet Solaris.