Java 21 - Virtual Threads Masterclass
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.02 GB | Duration: 9h 51m
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.02 GB | Duration: 9h 51m
A Comprehensive Guide to Scalable Concurrency: Unleashing the Power of Java Virtual Threads for Optimal Performance
What you'll learn
Java Virtual Threads Fundamentals
Scalability Challenges with Traditional Threads
Effective Use of Executor Service with Virtual Threads
Asynchronous Task Processing with Completable Future
Practical Application Development with Spring Boot Web
Scalability Testing using JMeter
Requirements
Knowledge on Java
Description
Dive deep into the intricacies of concurrency & Learn how to make your Java applications run smoother and faster using simple and effective concurrency techniques. From the basics to hands-on projects, this course equips you with the skills to revolutionize your approach to programming.Course Highlights:Understanding Concurrency: Learn about the challenges of traditional threads and discover how Java Virtual Threads provide a simpler and more efficient solution for making your programs scale seamlessly.Executor Service Mastery: Dive into using Executor Service with Virtual Threads. Overcome challenges, control concurrency, and process tasks more efficiently by breaking them down into parallel subtasks.Completable Future Exploration: Explore Completable Future for asynchronous task processing with Virtual Threads. Learn practical methods, handle timeouts, and manage errors in a declarative style.Preview of Structured Concurrency: Get a sneak peek into Java's new preview APIs, giving you insights into the future of concurrent programming. Stay ahead of the curve with a simplified understanding of Java's concurrency development.Practical Application Development: Apply what you've learned in a hands-on project using Spring Boot Web and Virtual Threads. See firsthand how these concepts integrate seamlessly into real-world application development.Scalability Testing with JMeter: Test your application's scalability using JMeter. Compare throughput and response time to ensure optimal efficiency under different conditions.Migration Made Easy: Conclude the course with a practical migration guide to transition your existing applications to Java Virtual Threads effortlessly. Get ready for a future where your programs effortlessly combine concurrency and scalability.Unlock the full potential of Java Virtual Threads and elevate your programming skills. Enroll now to reshape the way you approach scalability and performance in Java applications!
Overview
Section 1: Introduction
Lecture 1 Introduction
Section 2: Deep Dive into Virtual Threads
Lecture 2 Introduction
Lecture 3 *** Resources ***
Lecture 4 Project Setup
Lecture 5 Platform Thread Creation Limit - Demo
Lecture 6 Thread Builder - Factory Method
Lecture 7 Virtual Thread Scaling - Demo
Lecture 8 How Virtual Thread Works
Lecture 9 Carrier Threads Demo
Lecture 10 Virtual Thread & Stack
Lecture 11 OPTIONAL - Getting Stack Trace
Lecture 12 CPU Intensive Task - Part 1
Lecture 13 CPU Intensive Task - Part 2
Lecture 14 CPU Intensive Task - Part 3
Lecture 15 Virtual Thread - Scheduler Config
Lecture 16 Preemptive vs Cooperative Scheduling
Lecture 17 Cooperative Scheduling Demo
Lecture 18 How Virtual Thread Can Help?
Lecture 19 Synchronization
Lecture 20 OPTIONAL - Synchronization For Compute Tasks
Lecture 21 Virtual Thread - Synchronization For IO Tasks
Lecture 22 Pinning Threads
Lecture 23 Tracing Pinned Threads
Lecture 24 Fixing Pinned Threads Using Reentrant Lock
Lecture 25 Virtual Thread Factory
Lecture 26 OPTIONAL - Thread Methods
Lecture 27 Summary
Section 3: Executor Service
Lecture 28 Introduction
Lecture 29 Executor Service Types
Lecture 30 Auto Closeable
Lecture 31 Executor Service Types - Demo
Lecture 32 ** Resource ** - External Service
Lecture 33 External Service
Lecture 34 External Service Client
Lecture 35 Access Response Using Future
Lecture 36 OPTIONAL - Concurrency vs Parallelism
Lecture 37 Future Useful Methods
Lecture 38 Aggregator Service
Lecture 39 Do We Create Extra Thread?
Lecture 40 Clarification On Virtual Thread Executor Behavior
Lecture 41 Executor With Virtual Thread Factory
Lecture 42 Executor Service & Virtual Thread Challenges
Lecture 43 Concurrency Limit
Lecture 44 Semaphore
Lecture 45 Virtual Thread Concurrency Limiter
Lecture 46 What about Order?
Lecture 47 Virtual Thread Concurrency Limiter With Order
Lecture 48 Scheduled Executor With Virtual Thread
Lecture 49 Summary
Section 4: Completable Future
Lecture 50 Introduction
Lecture 51 How CompletableFuture Works
Lecture 52 Simple CompletableFuture Demo
Lecture 53 Run Async
Lecture 54 Supply Async
Lecture 55 Getting Product Info
Lecture 56 Aggregator - Error Handling With CompletableFuture
Lecture 57 Timeout
Lecture 58 CompletableFuture - All Of
Lecture 59 CompletableFuture - Any Of
Lecture 60 CompletableFuture - Then Combine
Lecture 61 Summary
Section 5: ** PREVIEW ** - Scoped Values & Structured Concurrency
Lecture 62 Introduction
Lecture 63 ThreadLocal - Part 1
Lecture 64 ThreadLocal - Part 2
Lecture 65 Scoped Values - Part 1
Lecture 66 Scoped Values - Part 2
Lecture 67 Structured Concurrency
Lecture 68 StructuredTaskScope - Demo
Lecture 69 StructuredTaskScope - ShutDown On Failure
Lecture 70 StructuredTaskScope - ShutDown On Success
Lecture 71 Inheriting Scoped Values
Lecture 72 Summary
Section 6: Application Development With Spring & Virtual Threads
Lecture 73 Introduction
Lecture 74 External Services
Lecture 75 Project Setup
Lecture 76 DTO
Lecture 77 ** Resource ** - RestClient
Lecture 78 RestClient - Crash Course
Lecture 79 Service Client
Lecture 80 Trip Plan Service
Lecture 81 Trip Reservation Service
Lecture 82 Trip Controller
Lecture 83 ** Resource ** - Application Properties
Lecture 84 Application Properties
Lecture 85 Service Client Beans
Lecture 86 Executor Service Bean
Lecture 87 Application Demo
Section 7: Performance Testing With JMeter
Lecture 88 Introduction
Lecture 89 Throughput vs Response Time
Lecture 90 Setting Up JMeter
Lecture 91 Creating Test Script
Lecture 92 Throughput vs Response Time - Demo
Lecture 93 JConsole
Lecture 94 VisualVM
Lecture 95 HttpClient Executor
Lecture 96 Best Practices
Lecture 97 ** Resource ** - Test Scripts
Lecture 98 Trip Reservation Test Script Creation
Lecture 99 Trip Reservation Test With Platform Threads
Lecture 100 Platform Threads Result Analysis
Lecture 101 Virtual Threads Result Analysis
Lecture 102 Rerunning Test With More Concurrent User Load
Lecture 103 Trip Plan Test With Platform Threads
Lecture 104 Trip Plan Test With Virtual Threads
Lecture 105 Results Comparison
Lecture 106 Summary
Section 8: Whats next?
Lecture 107 Migration Guide For Existing Applications
Lecture 108 Is Reactive Programming Dead?
Any Java Developer who likes to learn more about Virtual Threads