Java VM and especially GC tuning, like Oracle DBA tuning, seems to be a black magic art few learn. I disliked XML configuration immensely, and have had some instances where (earlier, pre jdk11) JVM did not understand they had to introspect to be told how much memory they had (arguably the fault of the container/virtualisation they in turn sat inside)