-
Synchronization utilities
- CountDownLatch in Java Concurrency
- CyclicBarrier in Java Concurrency
- Difference Between CountDownLatch And CyclicBarrier in Java
- Phaser in Java Concurrency
- Exchanger in Java Concurrency
- Semaphore in Java Concurrency
-
Locks
- ReentrantLock in Java Concurrency
- Difference Between ReentrantLock And Synchronized
- ReentrantReadWriteLock in Java
- StampedLock in Java
-
Concurrent Collections
- ConcurrentHashMap in Java
- Difference Between HashMap And ConcurrentHashMap in Java
- CopyOnWriteArrayList in Java
- Difference Between ArrayList And CopyOnWriteArrayList in Java
- CopyOnWriteArraySet in Java
- ConcurrentSkipListMap in Java
- ConcurrentSkipListSet in Java
- ConcurrentLinkedQueue in Java
- ConcurrentLinkedDeque in Java
-
BlockingQueue
- BlockingQueue in Java Concurrency
- ArrayBlockingQueue in Java Concurrency
- LinkedBlockingQueue in Java Concurrency
- PriorityBlockingQueue in Java Concurrency
- SynchronousQueue in Java
- DelayQueue in Java Concurrency
- LinkedTransferQueue in Java
-
BlockingDeque
- BlockingDeque in Java Concurrency
- LinkedBlockingDeque in Java
-
Executors
- Callable And Future in Java Concurrency
- Difference Between Runnable And Callable in Java
- Executor And ExecutorService in Java Concurrency
- ThreadPoolExecutor - Java Thread Pooling With ExecutorService
- Java ScheduledThreadPoolExecutor - Task Scheduling in Java
- CompletableFuture in Java With Examples
-
Atomic variables
- AtomicInteger in Java Concurrency
- AtomicLong in Java Concurrency
-
Concurrency concepts
- Lock Striping in Java Concurrency
- Non-Blocking Algorithms
- Busy Spinning in Multi-Threading
- Blocking Methods in Java Concurrency
-
Java Concurrency interview questions
- Java Concurrency Interview Questions And Answers