I think the 3 sweet-spots are:
* JIT (OpenJDK, Android Dalvik)
* AOT compilation (Android ART, RoboVM)
* Interpreted (JamVM)
I think JamVM is interesting, because there aren't many good options there. It's also presumably much simpler, so if you wanted to experiment (Golang-style lightweight threads is an interest of mine), it would probably be easier.