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


Java Queue: Methods, Implementations, and Examples
April 26, 2022The Java Queue interface: all six methods with an example, the JDK implementations compared – and which thread-safe queue to use when.
Queue Data Structure: FIFO, Head and Tail, Enqueue, Dequeue
April 26, 2022What is a queue? How the FIFO data structure works, what head and tail are, what enqueue and dequeue do, and where queues are used.
Java 18 Features (with Examples)
March 22, 2022Java 18 features with examples: UTF-8 by default, jwebserver, the @snippet tag in JavaDoc, Internet-Address Resolution SPI, and more.
Reverse a Stack Using Recursion
March 16, 2022How to reverse the order of the elements in a stack using recursion (i.e., without iteration)? Tutorial with images and Java code examples.
Implement a Stack Using Queues
March 16, 2022How to implement a stack with a queue (better said: with two queues)? Tutorial with images and Java code examples.
Implement a Stack Using a Linked List in Java
March 16, 2022Implement a stack using a singly linked list in Java: push and pop step by step, with diagrams, source code and a comparison with arrays.
Implement a Stack Using an Array in Java
March 16, 2022Implementing a stack in Java with an array, without Collections classes: first with a fixed size, then with an array that grows on demand.
Java Stack: Class, Methods, Alternatives, and Implementation
March 16, 2022The Java Stack class by example, why ArrayDeque is better – and how to implement your own stack with push(), pop(), peek(), and isEmpty().
Stack Data Structure: LIFO Principle, Push, Pop, Peek
March 16, 2022The stack data structure explained: the LIFO principle, push, pop, and peek, typical applications, and time complexity.
Java Switch Expressions (JEP 361): Arrows, yield, No break
February 2, 2022Switch expressions since Java 14 (JEP 361): arrow cases without break, values via yield, exhaustiveness for enums – and what Java 21 added.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