In this talk, we’ll discuss a severe JVM performance issue, the methodology leading to its discovery, how it affects the whole Java ecosystem, and what you could do to avoid it in your code.
This scalability bottleneck has existed in OpenJDK for decades; the most surprising aspect is how such an impactful problem has been undetected for so long, eluding existing diagnostic tooling, while many common idioms will trigger the issue. Chances are high that your code is affected as well.
After explaining the issue, we’ll show some real-world code from popular OSS libraries and how we worked around the problem in several popular OSS Java libraries with simple, small changes, leading to significant efficiency improvements.