What mistakes are you thinking of? To me Go and Java seems quite different as fas far as imperative languages go, but I don't know Java and it's history deeply.
The old Java collection APIs were hampered by a lack of generics, so they tend to work in terms of the Object class (basically Java’s equivalent to Go’s interface{} except nominally rather than structurally typed). This means that the type system can’t encode and propagate constraints on the types of objects in collections, forcing casting and other things that lead to runtime errors. I’ve never personally seen a usable collections API in a statically-typed language without generics.
Additionally to the lack of generics, all references/pointers in Java/Go can be null/nil (so you can't express that a reference points to something) and all fields are zero-initialized (so having every field set to zero must be a valid state for your object). The former was - in reference to ALGOL W - called the billion dollar mistake.