It's being taught in universities.
It compiles code into byte code then executes it with the Java Virtual Machine, that's how it works on any operating system (so ++).
And despite the fact that its doing so many things it works really fast and at the same time offers alot of easy functionality via packages and libraries and its API is not that hard to learn.
Also not all languages can be popular at the same time

. But java's main advantage is cross-OS compatibility and speed.