Engineering With Java: Digest #60
Scoped values, JWT Backlisting, Architecture decision, Social media posts, Interview resources etc...
Welcome to this week’s edition! I hope you all are having a great time. We have summarized this week’s Java and Spring Boot updates in a 5-minute summary.
We have changed the format of the newsletter, so please feel free to comment if you like or dislike something. Also, we are reaching towards 2.5k subscribers, so I would like to thank you all for your valuable time ❤️
I would appreciate it if you could recommend this newsletter to your circle with your fellow Java developers.
📝 Articles Of The Week (10)
Scoped Values: Revolutionizing Java Context Management : Introduces Java's
ScopedValue
as a solution for safe, immutable context propagation with clear scoping and minimal overhead. This approach is particularly beneficial for structured concurrency and virtual threadsJWT Blacklisting in Spring Boot for Revoked Sessions : Explains how to implement JWT blacklisting in Spring Boot by assigning a unique ID (
jti
) to tokens and storing revoked ones in a denylist (in-memory or Redis). It ensures immediate token revocation for security, such as after logout or account compromise.Mastering Multiple Data Sources in Spring Boot: A Step-by-Step Guide for 2025: Provides a comprehensive walkthrough on configuring and utilizing two separate MySQL databases within a single Spring Boot application using Spring Data JPA. It covers essential prerequisites, including necessary dependencies, and offers detailed instructions for setting up and managing multiple data sources effectively
Spring Boot 3.2’s Hidden Gems: Beyond Auto-Configuration : Features beyond auto-configuration, including native Micrometer Tracing for unified observability. It also improves structured concurrency support, enabling more efficient asynchronous task handling.
Why Banks Still Choose Java Over Python, Go, and the Rest : Explains that banks continue to favor Java over newer languages like Python and Go due to its proven reliability and performance at scale. Java’s stability makes it ideal for critical financial transactions and complex banking systems.
Domain-Driven Design in Java: A Practical Guide : Provides a practical guide to implementing Domain-Driven Design (DDD) in Java using Spring Boot, modeling an airport operations system. It covers aggregates, entities, value objects, bounded contexts, and domain events with real-world code examples and testing scenarios.
Execute mTLS Calls Using Java: Explains how to implement mutual TLS (mTLS) in Java, ensuring both client and server authenticate each other using X.509 certificates. It covers configuring an mTLS-enabled server and making secure HTTP calls from Java clients.
10 Architecture Tips Every Spring Boot Developer Should Learn Early: Provides 10 key architecture tips for Spring Boot developers, focusing on maintainable and scalable application design. It highlights layered architecture, DTO usage, externalized configuration, modular code organization, and robust exception handling.
Cloud-Native Java with Jakarta EE 11 and MicroProfile 7 : Explains how Jakarta EE 11 and MicroProfile 7 support building cloud-native, resilient, and scalable Java microservices. It highlights modular development, health checks, metrics, tracing, and seamless integration with platforms like Kubernetes and OpenShift.
Reactive vs Virtual Thread Patterns: When to Mix Project Reactor and Structured Concurrency : Compares reactive programming with Project Reactor and structured concurrency using Java virtual threads, highlighting their differences and ideal use cases. It also provides patterns for combining both approaches to handle blocking I/O and reactive streams efficiently.
▶️ Videos Of The Week (3)
Auto-Vectorization in HotSpot: Emanuel presented HotSpot’s auto vectorization using the superword algorithm, which converts scalar Java code into SIMD instructions for faster parallel execution.
From Final to Immutable: The not-so-final word on `final`: This talk examined Java final fields and immutability, showing they aid thread safety and predictable composition but aren’t fully trusted by the JVM due to reflection and serialization. Strict final fields solve this by enforcing early initialization, enabling reliable JVM optimizations.
Java Architects Answer Your Questions: Java experts highlighted that switch expressions prioritize readability and Project Lighten works best with production-like training runs. Value classes and strict final fields improve immutability and JVM optimizations. Future efforts focus on pattern matching, ecosystem-driven differentiable programming, careful API deprecation, and exploring WebAssembly.
🧑🏻💻 Interview Prep (2)
This PDF is a concise Java interview handbook touching on core Java, advanced features, and enterprise APIs.
This repository is a comprehensive interview prep guide aimed at aspiring full-stack, frontend, or backend developers—from junior to senior levels
📚 Books Of The Week (1)
Java Puzzlers is a captivating and educational collection of 95 Java programming puzzles. Each exposes subtle and often surprising quirks of the Java language and its core libraries
💬 Social Media Posts Of The Week (3)
Aman shares a handpicked toolkit of videos + blogs for Java/Spring Boot developers preparing for interviews or sharpening backend skills.
Gunnar is going to talk about ”transactional change stream processing using Apache Flink” at Current’25 conference.
Roman explains how Spring Boot’s
@Lazy
annotation can optimize startup time and memory usage by delaying bean initialization until they are first accessed, instead of creating all singleton beans at startup
🛠️ Code & Tools Of The Week (2)
cache2k is a lightweight, high-performance in-memory caching library for Java applications. It offers fast, thread-safe access to cached values with minimal memory overhead, making it suitable for scenarios where low-latency data retrieval is crucial.
NullAway is an open-source, type-based null pointer exception (NPE) checker for Java, developed by Uber to enhance code safety with minimal performance overhead.
Thanks for making it till the end. If you like this newsletter, please consider subscribing and sharing with your fellow Java developers.
If you like to sponsor this newsletter or have a product that you want to promote please email at: surajmishra150893@gmail.com. Basic details can be found here.
To connect with me, LinkedIn | Twitter. If you have any questions related to SWE/Career, etc, don’t hesitate to DM me. I would love to help my fellow SWEs using my 9 years of experience working in fintech across different countries. ( India/Japan/US/Canada )