1. Java and Spring

>> Project Jigsaw: Phase Two

Mark Reinhold has just announced what’s next for the JDK 9 Java module system. Looks like a more decent plan than the first go-round – taking bite sized chunks and integrating them into the platform one after the other, rather than one big change. Fingers crossed.

>> Hibernate and UUID identifiers

Really useful and detailed look at Hibernate UUIDs – although I’ve been working with these little identifiers for years and years, I still learned a lot from this one. I also like the crowd sourced way to double check info and get advice.

>> Spring 4: CGLIB-based proxy classes with no default constructor

This is how Spring becomes easier – beans that are proxied with CGLIB used to require a default constructor – after Spring 4 they don’t any more. So – construction injection is now possible for these beans as well – which makes testing them a lot easier.

>> Flexibility with Spring’s cache abstraction

Practical illustration of the Caching in Spring – cool use of @Profile to transparently switch between two different cache providers (in this case Hazelcast and Ehcache). Cool beans.

And finally – some official Spring stuff that I took note of this week:

2. Technical

>> You Probably Don’t Need a Message Queue

I couldn’t agree more, both with this specifically but also with the broader statement: “You Probably Don’t Need X“, where X can be any number of things. Complexity is a sneaky thing and you need to be ruthless when architecting your systems. And adding in a MQ is probably – nine times out of ten – a premature optimization and the wrong move.

And so we have our article of the week – go read this one – twice.

>> Microservices Are SOLID

An interesting read about microservices from the point of view of the SOLID principles.

3. Musings

>> Personal Meditations on Software

Good food for thought – it’s a quick read, so you have no excuse 🙂

>> What not to do during an interview

A good guide for interviewing – a few interesting tidbits in there that I wish I read (and internalized) 8 years ago 🙂

>> StranglerApplication

This one struck a chord with me – as I was involved in two “Big Rewrites” until now and both times we should have at least tried to leverage this approach rather than actually re-writing the system. Save yourself the hassle of going down that particular rabbit hole and go read this one.

>> P, NP And Decision Problems (Really, It’s Not that Bad)

An off the cuff intro to algorithmic complexity and P vs NP. Nice read – brings back fun memories of school.

Baeldung Pro – NPI EA (cat = Baeldung)
announcement - icon

Baeldung Pro comes with both absolutely No-Ads as well as finally with Dark Mode, for a clean learning experience:

>> Explore a clean Baeldung

Once the early-adopter seats are all used, the price will go up and stay at $33/year.

eBook – HTTP Client – NPI EA (cat=HTTP Client-Side)
announcement - icon

The Apache HTTP Client is a very robust library, suitable for both simple and advanced use cases when testing HTTP endpoints. Check out our guide covering basic request and response handling, as well as security, cookies, timeouts, and more:

>> Download the eBook

eBook – Java Concurrency – NPI EA (cat=Java Concurrency)
announcement - icon

Handling concurrency in an application can be a tricky process with many potential pitfalls. A solid grasp of the fundamentals will go a long way to help minimize these issues.

Get started with understanding multi-threaded applications with our Java Concurrency guide:

>> Download the eBook

eBook – Java Streams – NPI EA (cat=Java Streams)
announcement - icon

Since its introduction in Java 8, the Stream API has become a staple of Java development. The basic operations like iterating, filtering, mapping sequences of elements are deceptively simple to use.

But these can also be overused and fall into some common pitfalls.

To get a better understanding on how Streams work and how to combine them with other language features, check out our guide to Java Streams:

>> Join Pro and download the eBook

Course – LS – NPI EA (cat=REST)

announcement - icon

Get started with Spring Boot and with core Spring, through the Learn Spring course:

>> CHECK OUT THE COURSE

Partner – Moderne – NPI EA (tag=Refactoring)
announcement - icon

Modern Java teams move fast — but codebases don’t always keep up. Frameworks change, dependencies drift, and tech debt builds until it starts to drag on delivery. OpenRewrite was built to fix that: an open-source refactoring engine that automates repetitive code changes while keeping developer intent intact.

The monthly training series, led by the creators and maintainers of OpenRewrite at Moderne, walks through real-world migrations and modernization patterns. Whether you’re new to recipes or ready to write your own, you’ll learn practical ways to refactor safely and at scale.

If you’ve ever wished refactoring felt as natural — and as fast — as writing code, this is a good place to start.