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


How to Implement a Queue Using a Linked List in Java
May 16, 2022Queue using a linked list in Java: head and tail references, enqueue and dequeue in O(1) – step by step with diagrams and source code.
Implementing a Queue Using a Stack
May 16, 2022How to implement a queue with a stack (more precisely: with two stacks)? Tutorial with illustrations and Java code examples.
LinkedTransferQueue and TransferQueue in Java (+ Example)
April 26, 2022Java’s LinkedTransferQueue: how transfer() waits for a consumer to take the element, the queue’s characteristics, and when to use it.
Java SynchronousQueue: Direct Handoff Explained (+ Example)
April 26, 2022Java’s SynchronousQueue has no capacity: put() waits for take() and vice versa. How the handoff works, and where the JDK uses it.
Java DelayQueue: Delayed, getDelay(), compareTo() (+ Example)
April 26, 2022Java DelayQueue: each element carries its own delay and can be taken only after it expires. Characteristics, Delayed, compareTo(), example.
PriorityBlockingQueue: Thread-Safe Priority Queue (+ Example)
April 26, 2022Java PriorityBlockingQueue: thread-safe, blocking PriorityQueue with a single lock. Characteristics, example, use with ThreadPoolExecutor.
Java ArrayBlockingQueue: Bounded Queue With a Single Lock
April 26, 2022ArrayBlockingQueue explained: bounded, one lock for both ends, optional fairness – with an example and when LinkedBlockingQueue is better.
Java LinkedBlockingQueue: Blocking Queue With Two Locks
April 26, 2022Java LinkedBlockingQueue explained: blocking, thread-safe with two locks, optionally bounded – with a code example and when to use it.
Priority Queue in Java: PriorityQueue Explained (+ Examples)
April 26, 2022What is a priority queue, and how does Java’s PriorityQueue work? Time complexity and examples – with and without a custom comparator.
Java ConcurrentLinkedQueue: Thread-Safe Without Locks
April 26, 2022ConcurrentLinkedQueue explained: lock-free via CAS, unbounded, non-blocking, why size() is O(n) – with a producer/consumer example.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