The Java language is becoming increasingly irrelevant. I am really not that bothered by Java (the language) 7.
The VM, however, is the best in the world. Its robust, quick and portable. Java 7 has a load of improvements to the VM that I am very interested in, like invokedynamic that will give a nice speed boost to alternate languages.
Worth pointing out, that although java 6 has been around for 5 years, it was a pretty good release at the start, and the VM had several major overhauls through its time that improved performance all over the place.
Library wise, we've had the apache commons, lots of google libaries, spring, and others for years, so development has moved on apace without sun/ oracles involvement.
In languages, we've got several mature languages to choose from, Java, Scala, Ruby, Groovy, Clojure. They are good for different things, and implement all of what is proposed for java 7 and more.
Concurrency wise, the jvm has always been pretty good. It has concurrency primitives, and a tightly specified memory model. Java 6 gave a bunch of nice libraries in .concurrent.*
Jsr166y is an improvement over whats in the concurrent package, absolutely, and an excellent one at that, however most of the ideas have been available for a while in the alternate libraries, languages etc. As far as I can tell, they are all in the process of rebasing these over jsr166y, yes, but there were already multiple implementations of parallel collections (for example) well in use on the JVM and have been for years. (see Scala actors and gpars as examples)
Why am I saying this? It goes back to my point, Java the language deserves all the criticism above, its dated, extremely verbose and slow moving. (Its also quick, very well known and understood.)
The Java VM is whats important now, and I for one am certain that its the best general purpose VM environment in the world right now.