I guess i agree with your sentiments about the JCP - there have always been elements of it that 'bug' me. Especially how the administrators of the program (I guess it's still a little early to judge Oracle here, let's see how they do :) ) allowed the Java language to fall so far behind the curve. But java as a platform... that has been rapidly developing despite this.
Firstly i don't believe that C# can be considered a 'better alternative' as a broad sweep statement. You need to consider the use cases. For example, Java Enterprise containers offer the kind of scalability that IIS just can't compete with and that C# just doesn't have the infrastructure to deal with. There are good reasons for this though. Java has historically been a defacto solution for the enterprise space. This has been the core focus and drive of the development of the Java platform over the last decade, not desktop and small project development. From this perspective the Java platform has excelled at it's job and has been the primary driver in enterprise architecture across ALL platforms, in my opinion.
I think that Microsoft cottoned onto the premises of the Java platform from it's inception which was how the C# language was born. It was only years after multiple java platform MVC implemenations that .NET came along with MVC. It also borrowed the interpreted language model and garbage collection (although these language level concerns arent' the fundamental reason why 'java was there first'). Container manager transactions, security, services. Automatic connection pooling, thread management, clustering, load balancing. All these features and more are the reason why JEE applications perform so well in the distributed environments that we encounter with enterprise development.
Integration is another point. The java platfrom has been geared for system's integration for the longest time and is a real industry player here. Then we had the VMware guys come out with a real game-changer. A DI framework for Java that WORKS, is easy to understand, is decoupled and offers you more than you need. For the last 10 years Spring has been directing change in the Java space rather than following it. And i guess that's why i say 'Java as a platform' has been rapidly developing. it's not so much that Sun or Oracle have been actively investing in it, it's because the rest of the world has.
I've been working with a business that together have grown our Java consulting and projects from 5% of our total turnover, to 60% in the last 4 years!