From c0f32cfcfeae22caa750d88913d43929207641b9 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sun, 17 May 2026 19:51:58 +0000
Subject: [PATCH] chore: update docs/jvm-parameters-matrix-table.md
[20260517-1948]
---
docs/jvm-parameters-matrix-table.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/jvm-parameters-matrix-table.md b/docs/jvm-parameters-matrix-table.md
index 5a459e45..cd703c72 100644
--- a/docs/jvm-parameters-matrix-table.md
+++ b/docs/jvm-parameters-matrix-table.md
@@ -1,11 +1,11 @@
| **JVM Parameters** | **Enable?** | **References / Details** |
|:-------------------|:---|:---|
-|-XX:+UseG1GC | Enabled by default in Java 8u191+ | Most important defaults specific to G1 and their default values.
[https://dzone.com/articles/choosing-the-right-gc](https://dzone.com/articles/choosing-the-right-gc)
[https://wiki.openjdk.java.net/display/HotSpot/G1GC+Feedback](https://wiki.openjdk.java.net/display/HotSpot/G1GC+Feedback)
Alternative: Shenandoah GC |
-|-XX:+UseShenandoahGC | Alternative to G1GC. | Shenandoah Garbage Collector: experimental in Java 8, newer than G1GC, available in some OpenJDK 8 and newer releases.
[https://wiki.openjdk.java.net/display/shenandoah/Main](https://wiki.openjdk.java.net/display/shenandoah/Main)
[https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) |
-|-XX:+UseZGC | Yes (JDK 11+) | Z GC : Better Garbage Collector Algorithm than G1 or Shenandoah. JDK 11+ required.
The Z Garbage Collector, also known as ZGC, is a scalable low latency garbage collector designed to meet the following goals:
· Pause times do not exceed 10ms (*)
· Pause times do not increase with the heap or live-set size
· Handle heaps ranging from a 8MB to 16TB in size
At a glance, ZGC is:
· Concurrent
· Region-based
· Compacting
· NUMA-aware
· Using colored pointers
· Using load barriers
At its core, ZGC is a concurrent garbage collector, meaning all heavy lifting work is done while Java threads continue to execute. This greatly limits the impact garbage collection will have on your application's response time.
7 JVM Arguments of Highly Effective Applications
[https://wiki.openjdk.java.net/display/zgc/Main](https://wiki.openjdk.java.net/display/zgc/Main) |
+|-XX:+UseG1GC | Enabled by default in Java 8u191+ | Most important defaults specific to G1 and their default values.
[https://dzone.com/articles/choosing-the-right-gc](https://dzone.com/articles/choosing-the-right-gc)
[https://wiki.openjdk.org/spaces/HotSpot/pages/24674441/G1GC+Feedback](https://wiki.openjdk.org/spaces/HotSpot/pages/24674441/G1GC+Feedback)
Alternative: Shenandoah GC |
+|-XX:+UseShenandoahGC | Alternative to G1GC. | Shenandoah Garbage Collector: experimental in Java 8, newer than G1GC, available in some OpenJDK 8 and newer releases.
[https://wiki.openjdk.org/spaces/shenandoah/pages/25002018/Main](https://wiki.openjdk.org/spaces/shenandoah/pages/25002018/Main)
[https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) |
+|-XX:+UseZGC | Yes (JDK 11+) | Z GC : Better Garbage Collector Algorithm than G1 or Shenandoah. JDK 11+ required.
The Z Garbage Collector, also known as ZGC, is a scalable low latency garbage collector designed to meet the following goals:
· Pause times do not exceed 10ms (*)
· Pause times do not increase with the heap or live-set size
· Handle heaps ranging from a 8MB to 16TB in size
At a glance, ZGC is:
· Concurrent
· Region-based
· Compacting
· NUMA-aware
· Using colored pointers
· Using load barriers
At its core, ZGC is a concurrent garbage collector, meaning all heavy lifting work is done while Java threads continue to execute. This greatly limits the impact garbage collection will have on your application's response time.
7 JVM Arguments of Highly Effective Applications
[https://wiki.openjdk.org/spaces/zgc/pages/34668579/Main](https://wiki.openjdk.org/spaces/zgc/pages/34668579/Main) |
|-XshowSettings:vm | Yes | This is a priceless feature to display all the settings of the JVM, together with -XX:+PrintCommandLineFlags it can show a world of hidden stuff.
[http://www.javamonamour.org/2018/11/java-showsettings.html](http://www.javamonamour.org/2018/11/java-showsettings.html) |
|-XX:+UseStringDeduplication | Yes | [https://www.baeldung.com/jvm-garbage-collectors](https://www.baeldung.com/jvm-garbage-collectors) |
-|-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath | Yes | When running a JVM in a docker container it is probably wise to use the HeapDumpOnOutOfMemoryError option so if you ever run out of memmory the jvm will write a dump of the heap to disk.
[https://merikan.com/2019/04/jvm-in-a-container/](https://merikan.com/2019/04/jvm-in-a-container/)
[https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) |
+|-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath | Yes | When running a JVM in a docker container it is probably wise to use the HeapDumpOnOutOfMemoryError option so if you ever run out of memmory the jvm will write a dump of the heap to disk.
[https://www.merikan.com/2019/04/jvm-in-a-container//](https://www.merikan.com/2019/04/jvm-in-a-container//)
[https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) |
|-Xss | Test | Increase the thread’s stack size limit by passing the -Xss argument.
[https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
Each application will have tens, hundreds, thousands of threads. Each thread will have its own stack. Each one of them consumes memory.
If their consumption goes beyond a certain limit, then a StackOverflowError is thrown. More details about StackOverflowError and solutions to resolve it can be found in this article.
Linux 64-bit JVM Default thread stack size = 1024k
-Xss2m : This will set the thread's stack size to 2mb |
|-Dsun.net.client.defaultConnectTimeout
-Dsun.net.client.defaultReadTimeout | Yes | [https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) |
|-Duser.timeZone | Yes | [https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) |