If I had to pick only one flaw in Java. It would be its horrible and ugly GUI. I mean... it managed to make anything ugly.
I agree with the broader point that web tech is basically playing catchup with years of lag compared to existing technologies. However the one benefit we get from all this is real security and true universal runtime.
I remember that the official Microsoft JVM (which was quickly discontinued) used native Windows GUI controls to display the Java UI, and then later, the JVM on Mac OS X displayed Swing(?) apps with native controls. I thought it was all very neat, but against the interests of the companies.
Java applications on mac had a very uncanny way of showing native controls. It is a bit like Qt, it kind of looks like a knock-off - elements are out of alignment, weirdly sized and so on.
Except now in a slower single threaded language with a worse GUI toolkit.