As announced at JavaOne this year (God only knows how many things were announced this year…), JSR 1 (Real-time) has reached the final stage. Sun’s product implementing this specification is described here. It is a good place (the FAQ in particular) to understand how different the real-time environment requirements are, but at the same time how much Java remains the same. Real-time (Java) is not about faster execution (still a very common mis-conception), but rather about pretictible execution time. It’s not about interactive vs. batch processing. It’s all about maximum latency (in microseconds) and maximum jitter (also in ms). The classic example is the ABS in a car (or another vehicle) which can’t suffer a long GC pause when it is expected to be at full throughput.
In my (humble) opinion, real-time Java is really about bringing a high-level language like Java to this world and WORA (Write Once Run Anywhere) isn’t really the value proposition as we know it for the “rest of Java”.