Well it has some big challenges:
* Its ability to take advantage of multi-core (good support coming in with Java 8 - 2013) * Its large footprint (to be sorted out in Java 9 - 2015) * Its ability to multi-tenant and have shared memory space etc (for cloud, this improving steadily over time). * Polyglot programming improvements (it's fairly easy to interop with Javascript, Clojure, JRuby, Scala and Groovy today but there are ways to go - chances are Java 9 will bring major improvements here as well).
However, it's got an awful lot going for it so as long as it adjusts to meet the challenges I see it staying as a major VM (if not the dominant one). It's move into the cloud space over 2012 is a clear indicator that it's here to stay.