Because the idea of classes is baked into JVM. So when writing inline code, with groovy, scala, kotlin, whatever else, the compiler has to basically insert fake classes into the jvm.
This may seem trivial, but because its fundamentally "hacky" its not something that is ever going to be as easy to work with and expand.
This is nonsense. And, not that there's anything wrong with classes, but compilers no longer need to 'insert fake classes' for anonymous functions since Java 8.
Yes, and? Classes are not inherently bad, hence saying that JVM should not be invested in because its bytecode requires classes is nonsense.
re: inline lambdas, they have to be _tied_ to a class, and defined as methods, indeed. But they no longer have to be standalone classes themselves since JDK8
There are like dozen of implementations for JVM alone: sun, Oracle, gnu, IBM etc etc