From 4bd00abd3dd471ec42cdea1cceadc03c61dd5c13 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sun, 17 May 2026 16:19:46 +0000
Subject: [PATCH] chore: update docs/java-and-java-performance-optimization.md
[20260517-1616]
---
.../java-and-java-performance-optimization.md | 28 +++++++++----------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/docs/java-and-java-performance-optimization.md b/docs/java-and-java-performance-optimization.md
index bd25ac0b..cf150da0 100644
--- a/docs/java-and-java-performance-optimization.md
+++ b/docs/java-and-java-performance-optimization.md
@@ -32,7 +32,7 @@
- [Dzone: 7 JVM Arguments of Highly Effective Applications πππ](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1) How to use 7 JVM arguments to help increase your application's performance and avoid common memory pitfalls.
- [developers.redhat.com: Get started with JDK Flight Recorder in OpenJDK 8u π](https://developers.redhat.com/blog/2020/08/25/get-started-with-jdk-flight-recorder-in-openjdk-8u/) Deploy JDK Flight Recorder with JDK Mission Control, a new monitoring and profiling tool that exposes a high level of information without adding a tax on the runtime system
- [blog.heaphero.io: HeapHero - Java & Android Heap Dump Analyzer](https://blog.heaphero.io/)
-- [blog.heaphero.io: What is GC Log, thread dump and Heapdump? π](https://blog.heaphero.io/2020/10/16/what-is-gc-log-thread-dump-and-heapdump/) Java Virtual Machine (JVM) generates 3 critical #artifacts that are useful for optimizing the performance and troubleshooting production problems. Those artifacts & their differences are explained in this PDF.
+- [blog.heaphero.io: What is GC Log, thread dump and Heapdump? π](https://blog.heaphero.io/what-is-gc-log-thread-dump-and-heapdump//) Java Virtual Machine (JVM) generates 3 critical #artifacts that are useful for optimizing the performance and troubleshooting production problems. Those artifacts & their differences are explained in this PDF.
- [developers.redhat.com: Shenandoah garbage collection in OpenJDK 16: Concurrent reference processing](https://developers.redhat.com/articles/2021/05/20/shenandoah-garbage-collection-openjdk-16-concurrent-reference-processing)
- [developers.redhat.com: JDK Flight Recorder support for GraalVM Native Image: The journey so far π](https://developers.redhat.com/articles/2021/07/23/jdk-flight-recorder-support-graalvm-native-image-journey-so-far)
- [OpenHFT/Java-Thread-Affinity](https://github.com/OpenHFT/Java-Thread-Affinity) Bind a java thread to a given core. A library that lets you pin the threads of your Java application to specific CPU cores. Looks like an interesting part of the performance engineering toolbox, e.g. helping to reduce the number of cache misses.
@@ -40,8 +40,8 @@
- [==kstefanj.github.io: GC progress from JDK 8 to JDK 17==](https://kstefanj.github.io/2021/11/24/gc-progress-8-17.html) JVM with <5ms GC pauses (ZGC). JDK17 is a huge leap forward in benchmark after benchmark. Upgrade as fast as you can. Amazonβs Corretto builds are available for a huge number of platforms and distribution channels. The JRE disappeared with jdk9: use jlink to assemble exactly the JRE you need.
- [==developers.redhat.com: How to choose the best Java garbage collector==](https://developers.redhat.com/articles/2021/11/02/how-choose-best-java-garbage-collector)
- [linkedin.com/pulse: Difference between Executor, ExecutorService, and Executors class in Java!](https://www.linkedin.com/pulse/difference-between-executor-executorservice-executors-omar-ismail) - [original article - javarevisited.blogspot.com](https://javarevisited.blogspot.com/2017/02/difference-between-executor-executorservice-and-executors-in-java.html#axzz7e91Wjl6y)
-- [vladmihalcea.com: Caching best practices](https://vladmihalcea.com/caching-best-practices/)
-- [vladmihalcea.com: 14 High-Performance Java Persistence Tips](https://vladmihalcea.com/14-high-performance-java-persistence-tips/)
+- [vladmihalcea.com: Caching best practices](https://vladmihalcea.com/caching-best-practices//)
+- [vladmihalcea.com: 14 High-Performance Java Persistence Tips](https://vladmihalcea.com/14-high-performance-java-persistence-tips//)
- [speakerdeck.com: Profiling a Java Application @DevDays 2023 | Victor Rentea](https://speakerdeck.com/victorrentea/profiling-a-java-application-at-devdays-2023)
- [freecodecamp.org: How to Write Unit Tests in Java](https://www.freecodecamp.org/news/java-unit-testing/)
@@ -71,33 +71,33 @@
Metric|Details / Reference
:---|:---
-GC Throughput|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/2019/03/13/micrometrics-to-forecast-application-performance)
+GC Throughput|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/micrometrics-to-forecast-application-performance/)
etc|
### Common JVM Errors
JVM Error|Details / Reference
:----|:----
-OutOfMemoryError|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/2019/03/13/micrometrics-to-forecast-application-performance)
-StackOverflowError|[ref](https://blog.fastthread.io/2018/09/24/stackoverflowerror/)
+OutOfMemoryError|**Repeated Full GC happens way before OutOfMemoryError**
[ref1](https://dzone.com/articles/7-jvm-arguments-of-highly-effective-applications-1)
[ref2](https://blog.gceasy.io/micrometrics-to-forecast-application-performance/)
+StackOverflowError|[ref](https://blog.fastthread.io/stackoverflowerror//)
etc|
### Tuning Jenkins GC
-- [jenkins.io - Tuning Jenkins GC For Responsiveness and Stability with Large Instances π](https://jenkins.io/blog/2016/11/21/gc-tuning/)
-- [Running Jenkins on Java 11 π](https://www.jenkins.io/doc/administration/requirements/jenkins-on-java-11/#:~:text=The%20easiest%20way%20to%20run,images%2C%20use%20the%20jdk11%20tag.)
+- [jenkins.io - Tuning Jenkins GC For Responsiveness and Stability with Large Instances π](https://www.jenkins.io/blog/2016/11/21/gc-tuning//)
+- [Running Jenkins on Java 11 π](https://www.jenkins.io/doc/administration/requirements/jenkins-on-java-11//#:~:text=The%20easiest%20way%20to%20run,images%2C%20use%20the%20jdk11%20tag.)
### Tuning Java Containers
-- [blog.openshift.com: Scaling Java Containers π](https://blog.openshift.com/scaling-java-containers/)
-- [blog.openshift.com: Performance Metrics (APM) for Spring Boot Microservices on OpenShift](https://blog.openshift.com/performance-metrics-apm-spring-boot-microservices-openshift/)
+- [blog.openshift.com: Scaling Java Containers π](https://www.redhat.com/en/blog/scaling-java-containers/)
+- [blog.openshift.com: Performance Metrics (APM) for Spring Boot Microservices on OpenShift](https://www.redhat.com/en/blog/performance-metrics-apm-spring-boot-microservices-openshift/)
- [dzone.com: Java Inside Docker: What You Must Know to Not FAIL](https://dzone.com/articles/java-inside-docker-what-you-must-know-to-not-fail) If you've tried Java in containers, particularly Docker, you might have encountered some problems with the JVM and heap size. Here's how to fix it.
- [itnext.io: How to cold start fast a java service on k8s (EKS)](https://itnext.io/how-to-cold-start-fast-a-java-service-on-k8s-eks-3a7b4450845d)
-- [blog.gceasy.io: Best practices: Java memory arguments for Containers π](https://blog.gceasy.io/2020/11/05/best-practices-java-memory-arguments-for-containers/)
+- [blog.gceasy.io: Best practices: Java memory arguments for Containers π](https://blog.gceasy.io/best-practices-java-memory-arguments-for-containers//)
### Debugging java applications on OpenShift and Kubernetes
-- [blog.openshift.com: Debugging Java Applications On OpenShift and Kubernetes](https://blog.openshift.com/debugging-java-applications-on-openshift-kubernetes/)
+- [blog.openshift.com: Debugging Java Applications On OpenShift and Kubernetes](https://www.redhat.com/en/blog/debugging-java-applications-on-openshift-kubernetes/)
## List of Performance Analysis Tools
@@ -109,7 +109,7 @@ etc|
### Threadumps, Heapdumps and GC Analysis Tools
-- [geekflare.com: What is Thread Dump and How to Analyze them? π](https://geekflare.com/generate-analyze-thread-dumps/)
+- [geekflare.com: What is Thread Dump and How to Analyze them? π](https://geekflare.com/dev/generate-analyze-thread-dumps//)
- [baeldung.com: How to Analyze Java Thread Dumps π](https://www.baeldung.com/java-analyze-thread-dumps)
- [baeldung.com: Capturing a Java Thread Dump](https://www.baeldung.com/java-thread-dump)
- [tier1app.com](https://tier1app.com/)
@@ -138,7 +138,7 @@ etc|
- [developers.redhat.com: A faster way to access JDK Flight Recorder data](https://developers.redhat.com/articles/2021/11/23/faster-way-access-jdk-flight-recorder-data)
- Detect JPA and Hibernate performance issues with Hypersistence Optimizer:
- https://vladmihalcea.com/hypersistence-optimizer
- - [vladmihalcea.com: How to tunnel localhost to the public Internet](https://vladmihalcea.com/tunnel-localhost-public-internet)
+ - [vladmihalcea.com: How to tunnel localhost to the public Internet](https://vladmihalcea.com/tunnel-localhost-public-internet/)
- [piotrminkowski.com: Java Flight Recorder on Kubernetes](https://piotrminkowski.com/2024/02/13/java-flight-recorder-on-kubernetes/)
## Cambios importantes en la gestiΓ³n de memoria de Java 8 de Oracle (2014)