Java is actually better(faster runtime and less energy usage) than Go but where Go beats Java is memory usage. C beats all of course.
https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/pap...
https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/pap...
Also, Go does not suffer from some fundamental Java problems, though they slowly get corrected. Go has value types, unboxed arrays. Generally, no struct in Go is boxed automatically. You have first class functions in Go and of course, it is statically compiled. It is true, that Hotspot often produces very good code, but for a lot of szenarios, a statically compiled Go executable beats it, as run-time compilation is not required.
Value types are around the corner and I bet they will be done first than generics in Go.