Appearance
Learn the language, build a REST API with Spring Boot, test it, then split it into services. Read the books in this order: each one assumes the ones before it.
Eleven modules: how a program runs, objects and types, memory, collections, streams, concurrency, I/O and the modern language features up to Java 21. Everything else is written in Java, so this book comes first, even if you already know another language.
Nine modules, from a first REST API to a secured one ready for production. Most Java backends run on Spring Boot. It leans on what book 1 teaches: interfaces, annotations, collections, threads.
Nine modules: JUnit 5 first, from the first assertion to parameterized and dynamic tests, then mocking with Mockito. It needs only book 1, but reads best here: you test the kind of service code book 2 has you write, before book 4 splits it apart.
Eight modules: service calls, discovery, load balancing, fault tolerance, the API gateway, central configuration, tracing, logging and scheduled jobs on many instances. It splits one Spring Boot application into many, so it assumes books 2 and 3.
Key claims are tested: Java on JDK 25 and against the Java Language Specification, Spring on Spring Boot 3 and Spring Cloud with real servers and brokers, tests on JUnit 5.13 and Mockito 5. Where a common explanation is wrong, the chapter states the correct behaviour.
Each chapter covers one topic and assumes only the chapters before it. Code comes as small listings you can run.
Every chapter ends with a few questions. The answers stay hidden until you open them.