JVM is a bloated POS.
Java does OOP wrong: should use multimethods, types and classes should not be the same thing (manually separating interfaces is annoying)
Java does functional stuff wrong: should have lambdas instead of (or maybe in addition to) inner and anonymous classes
everything should be an object
fuck everything about static scope
fuck needing a separate file for every class
fuck the way the generics system works