compile and runtime

.java -> compile -> .class -> JVM -> machine code

JVM architecture

refer

1. ClassLoader Subsystem
2. Runtime Data Area
3. Execution Engine

img(°0°)

** Going over Xmx32G heap boundary means you will have less memory available **

refer

force gc

jcmd <pid> GC.run

jvm viewer

gc-online
gc viweer