
Become a Better Java Developer!
Modern Java: new versions & features, performance, and JVM insights – tutorials and deep dives, clearly explained and directly applicable.


Hexagonal Architecture – What Is It? What Are Its Advantages?
January 18, 2023Hexagonal architecture (ports & adapters) explained: advantages over layers, differences from clean and onion architecture, relation to DDD.
Java Scoped Values (JEP 506) Explained – vs. ThreadLocal
December 11, 2022Scoped Values (JEP 506) replace ThreadLocal since Java 25: binding, rebinding, child-thread inheritance – and where ThreadLocal falls short.
Advent of Code 2022 – Java Solutions for All 25 Days, Explained
December 1, 2022All 25 Advent of Code 2022 puzzles solved in object-oriented Java 19 – each with the approach explained and the code on GitHub.
Java 19 Features: Virtual Threads, Record Patterns and More
September 20, 2022The new Java 19 features with examples: Virtual Threads (preview), Record Patterns (preview), Foreign Function & Memory API (preview) + more
Radix Sort Algorithm – Example, Java Code, Time Complexity
July 19, 2022Radix Sort step by step: LSD and MSD with an example, Java implementations, time and space complexity – and benchmarks against Quicksort.
Java Virtual Threads (JEP 444): How They Work, Examples, Pitfalls
June 14, 2022Virtual threads in Java (Project Loom): how they work and how to handle millions of blocking tasks without async code – with examples.
Difference Between Stack and Queue (Data Structures and Java)
June 8, 2022What is the difference between stack and queue? LIFO vs. FIFO, terminology – and how the Java Stack class and the Queue interface differ.
Queue vs. Deque in Java: What’s the Difference?
June 7, 2022Queue vs. deque: the data structures and the Java interfaces compared – including iteration and SequencedCollection since Java 21.
Java Deque vs. Stack: Why Deque Is the Better Choice
June 7, 2022Deque or Stack in Java? How they differ in thread safety, iteration order, and API – and why you should use ArrayDeque instead of Stack.
Implement a Deque Using a Circular Array in Java
June 7, 2022How to implement a deque in Java with a circular array: bounded and unbounded, with diagrams of the index wrap-around and the growing step.Want Even More Knowledge?
My blog features many articles on Java, software architecture, and performance — from foundational concepts to advanced patterns.
If you want to go deeper, check out my trainings: hands-on, easy to understand, and directly applicable to your day-to-day project work. Instead of theory, I teach principles that help you write code that is better, more maintainable, and more performant in the long run.
Explore the Java Trainings