<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jep505 on Devops Monk</title><link>https://devops-monk.com/tags/jep505/</link><description>Recent content in Jep505 on Devops Monk</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 10 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://devops-monk.com/tags/jep505/index.xml" rel="self" type="application/rss+xml"/><item><title>Structured Concurrency (JEP 505): Preview 5 — What Changed?</title><link>https://devops-monk.com/tutorials/java25/structured-concurrency/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://devops-monk.com/tutorials/java25/structured-concurrency/</guid><description>Note: JEP 505 is a preview feature in Java 25 (5th preview). Enable with --enable-preview. The API has been stable for several rounds and is expected to finalize in Java 26.
The Problem with Unstructured Concurrency Classic Java concurrency with ExecutorService is unstructured: you submit tasks, and those tasks have no formal relationship with the code that submitted them. This causes three recurring problems:
Problem 1: Partial failure leaves orphaned tasks ExecutorService exec = Executors.</description></item></channel></rss>