******* Course Overview *******
Welcome to this Amazing course on Java Multi-threading programming. The course will guide you through the important aspects of multi-threading in java. The course will provide an in-depth understanding of Threading and Parallel programming in java using modern java techniques and syntax We will be building real world java threading applications using modern java technology like Lambda's and Streams The course is for beginners are well as for experienced programmers Each of my courses come with: Amazing Hands-on Step By Step Learning Experiences Real Implementation Experience The below are the list of modules covered in this course. ***************Course details********************** Section 1:Introduction Step-01: Introduction Step-02: Thread Introduction Step-03: Java Development Kit Installation Overview Step-04: Installing Intellij IDEA for Windows Step-05: IntelliJ IDEA Configuration Step-04: Git Repository Link Step-05: Development Environment Setup - Import Code Section 2:Multi-Threading Basics Step-01: Sequential Processing Step-02: Parallel Programming with Thread Class Section 3:Lambda Expressions Step-01: What is Lambda Step-02: Lambda Expression (Part 1) Step-03: Lambda Expression (Part 2) Step-04: Runnable Example With Lambda Step-05: Comparator Example With Lambda Step-06: Callable Example With Lambda Section 4:Multi-Threading Basics (Part 2) Step-01: Parallel Programming with Runnable Interface Step-02: Joins Step-02: Volatile Step-04: DeadLock And LiveLock Step-05: Synchronization Step-06: Synchronized Methods Step-07: Synchronized Blocks Step-08: Wait, Notify, NotifyAll Step-09: Locks Step-10 Semaphore Step-11: Executor Step-11: Executor With Runnable and Callable Step-13: Callable & Future Section 5:Concurrent Utilities Step-01: CountDownLatch Step-02: Cyclic Barrier Step-03: Blocking Queue Step-04: Array Blocking Queue Step-05: Delay Queue Step-06: Linked Blocking Queue Step-07: Priority Blocking Queue Step-08: Synchronous Queue Section 6:Concurrent Collections Step-01: Difference b/w Traditional & Concurrent Collections Step-02: Concurrent HashMap Step-03 Navigable Map Section 7:Functional Interfaces and Lambdas (Lambda Part 2) Step-01: Functional Interfaces Step-02: Consumer Functional Interface (Part 1) Step-03: Consumer Functional Interface (Part 2) Step-04: IntConsumer, LongConsumer, DoubleConsumer Step-04: BiConsumer Functional Interface Step-05: BiConsumer Functional Interface (Part 2) Step-06: Predicate Functional Interface (Part 1) Step-07: Predicate Functional Interface (Part 2) Step-08: IntPredicate, LongPredicate, DoublePredicate Step-09: Predicate & BiConsumer Step-10: BiPredicate Functional Interface Step-11: Function (Part 1) Step-12: Function (Part 2) Step-13: BiFunction Step-14: Unary Operator Step-15: Binary Operator Step-16: Supplier Step-17: Method Reference (::) Step-18: Examples of Method Reference Step-19: Convert to Method Reference Step-20: Constructor Reference Section 8:Lambda Variable Scope Step-01: Variable Scope, Final & Effectively Final Section 9: RealWorld MultiThreading Example Using Lambda Step-01: Bank Transfer Example Section 10:Stream Step-01: Stream Introduction (Part 1) Step-02: Stream Introduction (Part 2) Step-03: Inside Streams Step-04: Collections vs Streams Step-05: Debugging Stream Section 11:Stream Operations Step-01: map() Step-02: flatMap() Step-03: distinct(), count(), sorted(), allMatch()... Step-04: Customized sort using comparator Step-05: filter() Step-06: reduce() (Part 1) Step-07: reduce (Part 2) Step-08: map + filter + reduce Step-09: max() with stream and reduce Step-10: min() with stream and reduce Step-11: limit() and skip() Step-12: findAny() and findFirst() Section 12: Stream Generators Step-01: Generating Stream with of(), iterate(), generate() Section 13:Numeric Streams Step-01: Introduction Step-02: IntStream Step-03: LongStream Step-04: DoubleStream Step-04: sum(), max(), min(), average() Step-05: Boxing, Unboxing Step-06: mapToObj(), mapToLong, mapToDouble() Section 14:Collectors Operations Step-01: joining Step-02: counting() Step-03: mapping() Step-04: minBy(), maxBy() Step-05: summingInt(), averagingInt() Step-06: groupingBy (Part 1) Step-07: groupingBy (Part 2) Step-08: groupingBy (Part 3) Step-10: maxBy(), minBy(), collectingAndThen(), summarizingInt() Step-11: partitioningBy() Section 15:Parallel Streams Step-01: Introduction to Parallel Streams Step-02: Sequential vs Parallel Performance (Part 1) Step-03: Sequential vs Parallel Performance (Part 2) Section 16:Fork-Join Step-01: Fork-Join Framework Introduction Step-02: Fork Join Example Section 17:References Section 18:Dining Philosopher Problem Step-01: Dining Philosopher Problem SolutionDescription
Course content
TO MAC USERS: If RAR password doesn't work, use this archive program:
RAR Expander 0.8.5 Beta 4 and extract password protected files without error.
TO WIN USERS: If RAR password doesn't work, use this archive program:
Latest Winrar and extract password protected files without error.