<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jep356 on Devops Monk</title><link>https://devops-monk.com/tags/jep356/</link><description>Recent content in Jep356 on Devops Monk</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 04 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://devops-monk.com/tags/jep356/index.xml" rel="self" type="application/rss+xml"/><item><title>Enhanced Pseudo-Random Number Generators (JEP 356): A Modern PRNG API</title><link>https://devops-monk.com/tutorials/java17/enhanced-prng/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://devops-monk.com/tutorials/java17/enhanced-prng/</guid><description>Finalized in Java 17 (JEP 356).
The Problem with Java&amp;rsquo;s Old PRNG API Java&amp;rsquo;s random number generation before Java 17 had several problems:
1. java.util.Random has poor statistical properties. The default PRNG algorithm is a 48-bit linear congruential generator (LCG). It fails many statistical tests (spectral test, birthday test). Its 2^48 period is short — exhaustible in seconds on modern hardware.
2. No common interface. java.util.Random, java.util.concurrent.ThreadLocalRandom, java.util.SplittableRandom, and java.</description></item></channel></rss>