The Z Garbage Collector, also known as ZGC, is a scalable low latency garbage collector ([JEP 333](http://openjdk.java.net/jeps/333)). It is designed to meet the following goals: * Pause times do not exceed 10 ms * Pause times do not increase with the heap or live-set size * Handle heaps ranging from a few hundred megabytes to multi terabytes in size At its core, ZGC is a concurrent garbage collector, meaning that all heavy lifting work (marking, compaction, reference processing, string table cleaning, etc) is done while Java threads continue to execute. This greatly limits the negative impact that garbage collection has on application response times. ZGC is included as an *experimental feature*. To enable it, the `-XX:+UnlockExperimentalVMOptions` option will therefore need to be used in combination with the `-XX:+UseZGC` option. This experimental version of ZGC has the following limitations: * It is only available on Linux/x64. * Using compressed oops and/or compressed class points is not supported. The `-XX:+UseCompressedOops` and `-XX:+UseCompressedClassPointers` options are disabled by default. Enabling them will have no effect. * Class unloading is not supported. The `-XX:+ClassUnloading` and `-XX:+ClassUnloadingWithConcurrentMark` options are disabled by default. Enabling them will have no effect. * Using ZGC in combination with Graal is not supported.