Generational garbage collection: why does the JVM split memory into young/old? | LetsGit.IT