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


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 (Insert at Bottom)
March 16, 2022How to reverse a stack using recursion, no loop: reverse() and insertAtBottom() step by step – with diagrams, Java code, and running time.
Implement a Stack Using Queues
March 16, 2022Implement a stack using two queues – or a single one: step by step with diagrams, Java code, and the running times of push() and pop().
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.
Generating Random Numbers in Java – and Predicting Them
January 31, 2022Random numbers in Java: Math.random(), Random, ThreadLocalRandom, and SecureRandom – and why pseudorandom numbers can be predicted.
Java Text Blocks: Multiline Strings with Triple Quotes (JEP 378)
January 19, 2022Text blocks: multiline strings in Java without \n. How to write and indent them, and which two new escape sequences you get.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