Ranked in these QuestionsQuestion Ranking
It makes it easy to debug and to read code.
Pro Mature ecosystem
The language and all its tools have enough time to age and they've aged well.
It is easier to catch errors sooner.
Con Memory hungry
Running the virtual machine, application server and application itself consumes significant amount of resources.
Con Unnecessarily obtuse and verbose
If you like typing 40 lines of code to open a file, Java is the language for you. If, on the other hand, you’d actually like to get something done, look elsewhere.
In more detail: Oracle has acquired Java from Sun and continues to surround it with controversy ever since (legendary lawsuit with google, money extortion from the enterprise users etc.).