java, jvm, garbage collection, shenandoah, openjdk, memory management