At this point, the word “Java” is so overloaded with meaning that it can be hard to separate the hope from the hype. Java is a programming language and a set of bytecodes, a virtual machine and a processor, a set of class libraries and a set of application environments, and a whole lot more. I hope that this paper has helped you to recognize each of these different aspects of the technology and to convince you that Java should not be dismissed out of hand by embedded developers. I hope it has also helped you to understand the structure of the Java runtime environment and to see how Java can best be fit into a larger project.

There are certainly many aspects of Java that are undesirable in embedded (and especially real-time) systems. However, the Java programming language is the most significant mainstream language to emerge since C. I think we’re going to see Java used more and more in all kinds of systems, including those that are real-time and embedded.