Language Java
Designed by James Gosling
Add simplicity and security to basic syntax of C++
Trade-off between simplicity and efficiency
Preserve consistent behavior on all platforms
Run-time checks - efficiency of execution and safety
Heap-based memory model - garbage collection
All method are potentially polymorphic