Earlier quoted context omitted.
The drawback is also the JVM. Its a heavy, bulky VM. The alternative being Go that is much lighter.
With all due respect, I'm fairly sure that anyone using "VM" the same way as you do here really think of it as a container or what. It's a runtime, and go also has a similar, fairly fat runtime. It's just burnt into the binary instead of being shipped separately. (Hell, even Rust has a runtime, it's just very very lean compared to languages featuring a full GC like go and java)
The Go runtime is mostly just for goroutines and other runtime stuff, like relection etc.
A go hello world binary is around 1mb, while the java one is (with a jre) up and around 50mb.