- Spring Study Guide – Core Spring
The container, and everything that lives in it. What dependency injection buys you, how an ApplicationContext starts and stops, the full bean lifecycle in the order it actually runs, the five scopes, component scanning, @Bean versus @Component, resolving ambiguity with @Qualifier and @Primary, profiles, @Value and SpEL, and the two proxy types Spring can create.
- Java 21 Migration Guide (17→21)
Java 17 to 21 is the easiest LTS upgrade in years. Nothing significant was removed, the language changes are additive, and most applications move with a version bump and a test run. This post covers the few things that do bite. If you are coming from Java 8 or 11 rather than 17, read the Java 17…
- Backend Dev – The Java and the JVM You Actually Need
You do not need all of Java before you start a framework, but you do need a specific subset — and one that is not the subset a beginner course teaches. Collections and which one to reach for, equals and hashCode, Optional, streams, exceptions that mean something, records, and the handful of JVM facts that explain your production bugs.
- Quick Sort
Partition around a pivot and recurse. Sorts in place and is usually the fastest in practice, but has an O(n^2) worst case — and the input that triggers it is the already-sorted array you are most likely to be handed. Median-of-three, and the recursion trick that caps the stack at O(log n).
- Spring Boot – Async Work and Thread Pools
@EnableAsync, @Async and a ThreadPoolTaskExecutor sized on purpose rather than left at the default. What the queue and rejection policy actually do under load, @Scheduled for recurring work, and why an @Async method that returns void throws away its own exceptions.