One small note: Java did not invent packages. They were invented by Pascal related languages, first Modula as modules and then Ada as packages. Ada still lives as in Oracle PL/SQL (Ada subset), and packages are kicking there all right.
To me Java was a new language with best features taken from:
- Pascal: JVM. Many Pascal implementations ran on bytecode
- Ada: packages
- C++: syntax variants with classes
Ada was “Object based”, while C++ “Object oriented” and here we are.