Java established itself and grew because it was at its heart a very simple language. Mostly OO with much of the power that offers yet avoiding the dynamic language redefinition that makes so many other languages much harder to understand and maintain.
Things like J2EE helped and hindered, but demonstrated that re-usable libraries and standard pattern implementations were viable and valuable, and the language just kept growing.
Now though? Well, the last 15 years have been a continual accretion of cruft to the language, massively increasing its power but at cost to readability, maintainability and indeed just avoiding shitty bugs.
I used to be a fan. Now I just feel old.