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


Java LinkedBlockingDeque (+ Code Examples)
June 7, 2022How to use the Java LinkedBlockingDeque? How does it work? What are its characteristics? When should you use it?
Java ConcurrentLinkedDeque (+ Code Examples)
June 7, 2022How to use the Java ConcurrentLinkedDeque? How does it work? What are its characteristics? When should you use it?
Java LinkedList as Deque (+ Code Examples)
June 7, 2022How to use the Java LinkedList as a deque? How does it work? What are its characteristics? When should you use it as a deque?
Java ArrayDeque – What is it for? + How to use it?
June 7, 2022How to use the Java ArrayDeque? How does it work? What are its characteristics? Comparison with LinkedList. When should you use it?
BlockingDeque Interface in Java (+ Code Example)
June 7, 2022How to use the BlockingDeque interface in Java? Overview of all blocking methods and comparison with the BlockingQueue interface.
Deque Interface in Java (+ Code Examples)
June 7, 2022How to create and use a deque in Java? What methods does the Deque interface provide? Which deques exist in the JDK? With sample code!
Deque Data Structure
June 7, 2022In this tutorial, you will learn everything about the abstract data type “deque”, which deques exist in Java, and how to implement deques yourself.
Array vs. Linked List: Differences and Time Complexity
May 23, 2022What is the difference between Array and Linked List? What are the advantages and disadvantages? When should you use which data structure?
Implementing a Priority Queue Using a Heap
May 16, 2022How to implement a priority queue with a heap in Java? Illustrative explanation with diagrams and Java source code.
Implementing a Queue Using an Array
May 16, 2022How to implement a queue based on an array in Java (without Java collections classes)? How does the array grow on demand?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