== JDK 25: OpenJDK Runtime Environment Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS)
default (this machine: 2 CPUs)                       -> compact=false collector=UseG1GC       MaxHeapSize=1498MB
-XX:+UseCompactObjectHeaders                         -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
-XX:-UseCompactObjectHeaders                         -> compact=false collector=UseG1GC       MaxHeapSize=1498MB

== JDK 26: OpenJDK Runtime Environment Temurin-26.0.2.1+1 (build 26.0.2.1+1)
default (this machine: 2 CPUs)                       -> compact=false collector=UseG1GC       MaxHeapSize=1498MB
-XX:+UseCompactObjectHeaders                         -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
-XX:-UseCompactObjectHeaders                         -> compact=false collector=UseG1GC       MaxHeapSize=1498MB

== JDK 27: OpenJDK Runtime Environment Temurin-27+35 (build 27+35)
default (this machine: 2 CPUs)                       -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
-XX:+UseCompactObjectHeaders                         -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
-XX:-UseCompactObjectHeaders                         -> compact=false collector=UseG1GC       MaxHeapSize=1498MB

== The same JDKs in a container: 1 GB memory limit, 1 CPU (a cgroup, set the way Docker sets it)
JDK 25, 1 GB, 1 CPU                                  -> compact=false collector=UseSerialGC   MaxHeapSize=256MB
JDK 25, 1 GB, 1 CPU, MaxRAMPercentage=75             -> compact=false collector=UseSerialGC   MaxHeapSize=768MB
JDK 26, 1 GB, 1 CPU                                  -> compact=false collector=UseSerialGC   MaxHeapSize=256MB
JDK 26, 1 GB, 1 CPU, MaxRAMPercentage=75             -> compact=false collector=UseSerialGC   MaxHeapSize=768MB
JDK 27, 1 GB, 1 CPU                                  -> compact=true  collector=UseG1GC       MaxHeapSize=256MB
JDK 27, 1 GB, 1 CPU, MaxRAMPercentage=75             -> compact=true  collector=UseG1GC       MaxHeapSize=768MB

== 1 GB, 2 CPUs
JDK 26, 1 GB, 2 CPUs                                 -> compact=false collector=UseSerialGC   MaxHeapSize=256MB
JDK 27, 1 GB, 2 CPUs                                 -> compact=true  collector=UseG1GC       MaxHeapSize=256MB

== -XX:MaxRAM: the flag many people used to fake a container limit
JDK 26 -XX:MaxRAM=1g                                 -> compact=false collector=UseG1GC       MaxHeapSize=256MB
      JVM says: OpenJDK 64-Bit Server VM warning: Option MaxRAM was deprecated in version 26.0 and will likely be removed in a future release.
JDK 27 -XX:MaxRAM=1g                                 -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
      JVM says: OpenJDK 64-Bit Server VM warning: Ignoring option MaxRAM; support was removed in 27.0

== Compact headers with each collector on JDK 27
JDK 27 -XX:+UseG1GC                                  -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
JDK 27 -XX:+UseParallelGC                            -> compact=true  collector=UseParallelGC  MaxHeapSize=1498MB
JDK 27 -XX:+UseSerialGC                              -> compact=true  collector=UseSerialGC   MaxHeapSize=1498MB
JDK 27 -XX:+UseZGC                                   -> compact=true  collector=UseZGC        MaxHeapSize=1498MB

== Compressed pointers on JDK 27
JDK 27 -XX:-UseCompressedClassPointers               -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
      JVM says: OpenJDK 64-Bit Server VM warning: Ignoring option UseCompressedClassPointers; support was removed in 27.0
JDK 27 -XX:-UseCompressedOops                        -> compact=true  collector=UseG1GC       MaxHeapSize=1498MB
JDK 27 -Xmx32g (a large explicit heap)               -> compact=true  collector=UseG1GC       MaxHeapSize=32768MB
