Engineering With Java: Digest #80
Java 26, HTTP client update, PubSub, Serverless, Claude Code with Java and more ...
👋 Java Devs! Welcome to this week’s addition (#80)! I hope you’re all doing great.
This week, we cover essential insights on:
📢 Get actionable Java/Spring Boot insights every week — from practical code tips to real-world use-case based interview questions.
Join 6100+ subscribers and level up your Spring & backend skills with hand-crafted content — no fluff.
First 100 paid subscribers will get the annual membership at $50/year forever that is ~ $4/mo ( 69 already converted to paid, 31 remaining)
Before we kick off, this weeks meme 😀
🗒️ Articles Of The Week (7)
HTTP Client Updates in Java 26 : Java 26, releasing March 17th, brings significant updates to the HttpClient, most notably adding HTTP/3 support via JEP 517, while keeping HTTP/2 as the default. Developers get flexible strategies for handling the HTTP/1.1 to HTTP/3 transition, including parallel requests and fallback options. The release also fixes several bugs and behavioral inconsistencies, such as correcting timeout scope, TLS parameter handling, and cookie Max-Age precedence.
Serverless Java in 2026: Finally Ready or Still Struggling? : Serverless Java has historically struggled with slow cold starts, but technologies like AWS Lambda SnapStart, GraalVM native images, and frameworks like Quarkus and Micronaut have made it practical and competitive in 2026 — though trade-offs like GraalVM build complexity still remain.
Pub/Sub Setup Using Spring Boot and Dapr : This article demonstrates building an event-driven Pub/Sub system with Spring Boot and Dapr, where Dapr abstracts the messaging layer allowing the same code to work with Redis, Kafka, or RabbitMQ without modification. It covers configuring a Dapr Pub/Sub component, publishing events via DaprMessagingTemplate, and consuming them using the @Topic annotation, with Redis and Testcontainers powering the local test setup.
Exponential Backoff with Jitter for Retries in Spring Boot : This article explains how exponential backoff widens retry gaps as failures continue, while jitter adds randomness to prevent large groups of clients from retrying in synchronized waves. It covers full jitter, decorrelated jitter, and retry ceilings (attempt, delay, and time budgets) to keep retries from overwhelming a struggling dependency. Practical Spring Boot implementations are demonstrated using Spring Framework 7’s RetryPolicy builder and Resilience4j’s IntervalFunction.ofExponentialRandomBackoff.
📢 Level up your system design & interview prep with ByteByteGo — expert-curated guides, visual diagrams & real-world patterns from the authors of the top system design books. Start mastering distributed systems the smart way
They are offering 50% discount on annual sale forever
How AI is reshaping developer choice (and Octoverse data proves it) : GitHub's Octoverse 2025 data reveals that AI is reshaping developer tool preferences, with TypeScript overtaking Python and JavaScript as the most-used language on GitHub driven by its strong typing working seamlessly with AI code generation. As 80% of new developers adopt Copilot within their first week, convenience loops are forming around AI-compatible technologies, even making once-painful tools like shell scripting more approachable. Teams are advised to establish solid architectural patterns early, as AI-accelerated development can amplify both good foundations and technical debt equally fast.
Using spec-driven development with Claude Code: This article explains spec-driven development with Claude Code, where developers spend significant time writing detailed specifications (requirements, architecture, and implementation plan) before generating code. This structured approach helps avoid “vibe coding,” reduces rework, and improves AI-generated output by giving the model clearer context and constraints
Why Senior Java Developers Are Using AI Coding Tools Wrong : This article argues that many senior Java developers use AI coding tools incorrectly, treating them like autocomplete instead of collaborators. The author introduces “Compounding Engineering”, a workflow where developers guide, correct, and train AI over time (using context files, rule files, and planning) so the model gradually becomes aligned with the codebase.
🔥 Recently Published In-house Blogs (4)
Java Interview Question - Merging Two Priority Queues
Spring Boot Interview Question: Designing Exception Handling in a Real Service
Spring Boot Interview Question - Reducing Cyclomatic Complexity in a Production API
Spring Boot Interview - Adaptive Timeouts for Outbound Call
▶️ Videos of the week (3)
Intelligent JVM Monitoring: Combining JDK Flight Recorder with AI : This talk covers building an intelligent JVM monitoring system by combining JDK Flight Recorder (JFR), JMX, and AI to enable self-healing in Java microservices. A Java agent streams JFR events from each service to a central monitor, where AI analyzes the data to detect performance issues and triggers corrective actions via JMX MBeans, such as clearing caches or enabling batch processing, all without manual intervention.
Unboxing Java 26 for Developers : Java 26, releasing March 17, brings notable performance and networking upgrades including HTTP/3 support, improved G1 GC throughput, and AOT object caching, alongside language integrity improvements that warn when code mutates final fields. Preview features include Structured Concurrency, Lazy Constants, Primitive Patterns, and the Vector API, with Unicode 17 and JDBC 4.5 support also included. The release continues modernizing the platform by removing outdated APIs like Thread.stop() and the Apple API.
Symbolic Modeling and Transformation of Java Code : Java Code Reflection is a proposed JVM feature that represents Java programs as structured symbolic code models, trees of operations, bodies, and blocks in SSA form enabling code to be analyzed, transformed, or executed programmatically. This opens the door to powerful use cases like extracting ML models from Java code, static/dynamic analysis, and GPU/accelerator integration, all while letting developers write standard Java instead of custom DSLs.
🧑💻 Jobs of The Week (73)
Check the full listing here ( 73 openings across globe )
ℹ️ Bonus Resources (4)
Thats all for this week! Thanks for reading this far. If you liked it please share with your network.
Happy Coding 🚀
Suraj
Subscribe | Sponsor us | LinkedIn | Twitter





