"The street finds its own uses for things"
Microsoft acted decisively to squash Java on the desktop, viewing it as a threat to their desktop hegemony. In a sense, it worked. Desktop Java isn't really something that an ISV can depend on, since approximately 90% of the world's desktop computers will have either a substandard JVM or no JVM at all.
A funny thing happened on the way to world domination, though. I don't know whether to credit Sun with a coherent strategy (I suspect not), or whether it was the unified resourcefulness of all of the thousands of Java developers who collectively figured out a way around the 800-pound gorilla. Rather than beating their heads against the MS (desktop) brick wall, Java developers (assisted by the not-inconsequential muscle of large players like IBM, Oracle, etc.), transformed Java into a formidable player in the server rooms and corporate in-house application development. Java morphed into the "COBOL of the 00's", ensuring that programmers who put the effort into learning the language back in the "applet days" of the 1990's would be able to earn a livelihood for the forseeable future. Additionally, hobbyist/enthusiast developers are doing all sorts of cool middleware/web services development using Java as a platform. Projects like nntp//rss and Zoë are cool and inherently cross-platform.
Cancel me not — for what then shall remain?
Abscissas, some mantissas, modules, modes,
A root or two, a torus and a node:
The inverse of my verse, a null domain.
— Stanislaw Lem, “Cyberiad”