
Java Mastery | Multithreading, Collections, Streams, Lambdas
Published 3/2025
MP4 | Video: h264, 1920×1080 | Audio: AAC, 44.1 KHz
Master Core Java Features: Java Collections, Java Multithreading, Lambda Expressions and Stream API for modern web apps
What you’ll learn
Differences between threads and processes
Creating threads using the Thread class and Runnable interface
Managing thread lifecycle and states
Monitoring and controlling thread execution
Understanding race conditions and thread safety
Implementing thread-safe synchronization techniques
Working with ExecutorService for efficient thread management
Using ScheduledExecutorService for task scheduling
Implementing Future and Callable for asynchronous computations
Understanding wait(), notify(), and notifyAll() for inter-thread communication
Using ReentrantLock and ReentrantReadWriteLock for fine-grained locking
Exploring thread-safe collections like ConcurrentHashMap
Using blocking queues for producer-consumer scenarios
Understanding thread contention and deadlocks
Implementing thread-safe and immutable designs
Optimizing thread pools for better efficiency
Using parallel streams for improved performance
Understanding how Java Virtual Machine (JVM) handles threads
Working with thread priorities and daemon threads
Learning concurrency design patterns for scalable applications
Handling exceptions in multithreaded programs
Implementing advanced locking mechanisms
Building a multithreaded web server
Implementing a producer-consumer system
Developing a real-time chat system
Using debugging tools for thread analysis
Writing unit tests for concurrent code
Profiling multithreaded applications for performance tuning
Requirements
No prior knowledge is required about Java Multithreading
Basic Java skills are required
A computer with a 64-bit operating system
We preferred MacOS (64-bit) but this is not mandatory. You can prefer to use other Operating Systems.
We preferred IntelliJ which is a powerful and advanced text editor with a lot of plug-ins and tools
Description
Overview
Section 1: Java Collections
Lecture 1 Section Overview
Lecture 2 Introduction to Collections
Lecture 3 List Interface
Lecture 4 ArrayList Class
Lecture 5 Conversion Between Lists and Arrays
Lecture 6 Sorting Array List
Lecture 7 Comparator
Lecture 8 Searching ArrayList
Lecture 9 Itrator and ListIterator
Lecture 12 Queue
Lecture 13 Deque
Section 2: Lambda Expression
Lecture 16 Section Overview
Lecture 17 Marker and Functional Interfaces
Lecture 18 Lambda Expression
Lecture 19 Predicate
Lecture 20 Method Reference
Lecture 21 Switch Expression (Enhanced Switch Statement)
Lecture 22 Simple Calculator app with Lambda
Section 3: Stream API
Lecture 23 Introduction to Stream
Lecture 26 Parallelism and Parallel Stream
Section 4: Overview of Threads
Lecture 27 What is Thread?
Lecture 28 Create Thread Class
Lecture 29 Create Runnable Class
Section 5: Thread Creation and Management
Lecture 30 Thread and Processes
Lecture 31 Thread management
Lecture 32 Thread states and monitoring
Section 6: Synchronization and Concurrency Control
Lecture 33 Introduction to Synchronization
Lecture 34 “synchronized” Keyword
Lecture 35 “volatile” Keyword
Section 7: High-level Concurrency APIs
Lecture 36 Introduction to Concurrency APIs
Lecture 37 Executor Service
Lecture 38 Scheduled Executor Service
Lecture 39 Concurrent Collection
Lecture 40 Future and Callable
Section 8: Thread Coordination
Lecture 42 Introduction to Thread Coordination
Lecture 43 Inter-thread communication
Lecture 44 Locks and Conditions
Section 9: Locks and Advanced Synchronization
Lecture 45 ReentrantLock and ReentrantReadWriteLock
Section 10: Concurrent Collections
Lecture 47 Thread-safe collections
Lecture 48 Blocking queues
Section 11: Performance and Scalability
Lecture 49 Thread contention and deadlocks
Lecture 50 Thread safety and immutability
Lecture 51 Optimizing Thread Pools
Lecture 52 Parallel stream
Section 12: Java Virtual Machine and Threads
Lecture 53 JVM’s role in thread management
Lecture 54 Thread priorities
Lecture 55 Daemon threads
Section 13: Best Practices and Advanced Topics
Lecture 56 Concurrency Design Patterns
Lecture 57 Handling exceptions in threads
Lecture 58 Advanced locking mechanisms
Section 14: Case Studies and Practical Scenarios
Lecture 59 Building a multithreaded web server
Lecture 60 Implementing a producer-consumer system
Lecture 61 Developing a real-time chat system
Section 15: Tools and Testing
Lecture 62 Thread debugging tools
Lecture 63 Unit testing multithreaded code
Lecture 64 Profiling multithreaded applications
Section 16: Extra
Lecture 65 Java Mastery | Multithreading, Collections, Streams, Lambdas
Java developers who want to master multithreading and concurrency,Software engineers looking to optimize application performance,Anyone preparing for Java job interviews or certification exams,Backend developers, game developers, and system architects,Those who want to be one step ahead in job applications related to Java,Java developers who want to increase their knowledge about Multithreading, concurrency

