The best quote about Java was, I think, from Joe Armstrong of Erlang fame. I can't find the psot but it goes along he lines of 'Java was designed for set top boxes. If you are writing a settop box you should be fine'.
I have a long list of issues and problems with Java. My top few are:
1) It tried to be everything to everyone .... and failed, becoming annoying for the majority. If java only had concentrated on a small core of functionality - say a console/text interface, threading, socket-level network stack - with a well-defined interface to allow third party extensions e.g. GUI.
2) Bets the farm on RPC at a time when the short-comings with RPC were well known. Google 'The Game of Distributed Systems Programming. Which Level Are You' - the original blog post has expired! Bet it uses Java!!!
3) To slow to deprecate APIs/features. Java SE has needed en editor and manager. How many GUIs come in the SE distribution? This is connected to 1) - find a good, basic way of doing something and dont muck/mess up the API. Let 3rd parties extend to beyond the core.
4) The language is at the wrong abstraction level. When you need an editor to basicially auto-fill in the syntax fluff you have fsked up the language. Christ, C++14 is less verbose than Java.
5) Licensing Java for 'non-workstation, specialist use' was obscure and appeared to be expensive. Unlike most other people, who bouhgt into th hype, I read the binary license terms and ran away. Yes, there is OpenJDK - 20 years later.
6) They addressed shortcomings by doing more hype, which created more shortcomings, which required more hype. If you are in a hole then stop digging.
7) Its owned and controlled by Oracle. Im out.