AFAIK, Apple's terms of service for iPhone applications explicitly forbids the creation of runtime systems that can then be used to create other applications. This means that no emulators and virtual machines will be admitted through Apple's review process, at least not in a way that opens up the framework for the use of unapproved code.
In fact, if you follow Steve Jobs:
"Java's not worth building in. Nobody
uses Java anymore. It's this big
heavyweight ball and chain."
I'm a full time Java developer, so I'm not sure I agree. And would love to use Java on my iPhone (I know, I should get an android phone, etc. etc.)
If your iPhone is jailbroken, however, it's a different story. Some creative googling will find you various guides on how to install some forms of Java. Mine is not jailbroken, so I haven't tried.