Ever heard of the programming language called "Nice". It has a construct very similar to java but with some advanced features such as parameteric classes and compile time detection of run time errors such as NullPointerException.
And you can make it access java libraries and vice versa. It produces byte codes and hence requires just the jvm to execute the programs.
Check it out at http://nice.sourceforge.net/