To refer back to the original off-topic quote, I'll point out that java bytecode and the Java language are only slightly related these days. A lot of quite interesting languages can compile to java bytecode - you're not stuck with a crufty old C++ derivative.
Well Java is basically JVM assembler ... Anyway, my biggest gripe with the JVM is that you can't have references to parts of an object, or the stack. You're basically stuck doing a whole lot of pointer chasing for any composition you do, and it's impossible to do a lot of really awesome zero-allocation patterns which rely on pointers to the stack.