Java design goals
architecture neutral, portable
- good spec.!
- Java Virtual Machine (JVM)
- byte-code semantics defined
- data type representation defined
- compile once, .class files run on any JVM
high-performance
- interpreter is slow
- JIT implementation can be quite fast