I love all those 'JVM roks!' or 'JVM is mature and stable!' stories. But I still unable to get it, why one user-level program (say, java.exe) must be better than any another user-level .exe? With its primitive and rudimentary integration with an OS (remember, it was designed to be isolated environment that runs everywhere, which means exactly opposition to efficiency and optimization). Wait! It can produce native code and able to run threads! Yeah, but LLVM produces much better code and there is clang++ with which we can build java.exe from its sources... ^_^
May be it rocks just because too much money was invested in the ecosystem and now they do everything possible to keep it breathing? ^_^ Remember? Your lovely Xeon CPU is a VM itself. Your lovely Virtualization stack on top of your OS is what? Do we still need so many layers of VMs? ^_^
btw, MS DOS is also quite mature, stable and production ready environment. Especially with something like qemm.exe and desqview.exe (do you remember them?)