Managing allocations is way more than just object pooling. The following code in golang allocates "n" on the heap:
func main() {
n := 1
fmt.Println(n)
}
Object pooling won't help here.The new GCs on the JVM have very few parameters to tune, I think Shenandoah or ZGC have only two parameters to set up, can't get much simpler.