آموزش جاوا مدرن: Stream Gatherers و هم‌روندی مقیاس‌پذیر (Scalable Concurrency) - آخرین آپدیت

دانلود Modern Java: Stream Gatherers & Scalable Concurrency

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: آموزش جامع Stream Gatherers در جاوا مدرن، Virtual Threads، هم‌روندی پیشرفته و پردازش I/O مقیاس‌پذیر با نرخ انتقال بالا آخرین ویژگی‌های Java 24 و نسخه‌های جدیدتر پردازش دسته‌ای (Batch Processing) در Java Streams با استفاده از Virtual Threads نوشتن Gathererهای بدون حالت (Stateless) و حالت‌دار (Stateful) برای کنترل جریان استریم با منطق سفارشی یکپارچه‌سازی Virtual Threads برای پردازش‌های I/O-bound با مقیاس‌پذیری بسیار بالا طراحی Gathererهای هم‌روند غیرمسدودکننده (non-blocking) که نتایج را به محض تکمیل ارسال می‌کنند کنترل سطوح هم‌روندی برای جلوگیری از بار بیش از حد با استفاده از Gathererهای محدودکننده مدیریت بهینه خطاها بدون مختل کردن جریان استریم با استفاده از الگوهای Delay Error پیاده‌سازی هم‌روندی تو در تو (Nested Concurrency) به روشی ساختاریافته و قابل نگهداری بهبود عملکرد و بهینه‌سازی مصرف حافظه با طراحی استریم-محور و حذف مجموعه‌های میانی پیشنیازها: آشنایی با Virtual Threads در جاوا توصیه می‌شود. اگر با این مفهوم آشنا نیستید، پیشنهاد می‌شود ابتدا دوره مکمل ما در این زمینه را برای کسب پایه‌ای قوی مشاهده کنید.

به‌روزرسانی شده با JDK/Java 25 و Spring Boot 4

پیش‌نیاز:آشنایی با Virtual Threads در جاوا توصیه می‌شود. در صورت عدم آشنایی، لطفاً دوره مقدماتی مربوطه را بگذرانید.

این دوره تخصصی برای توسعه‌دهندگان باسابقه جاوا طراحی شده است که قصد دارند بر API پیشرفته Stream Gatherers مسلط شوند و پتانسیل کامل Virtual Threads را برای ساخت اپلیکیشن‌های مقیاس‌پذیر و با کارایی بالا آزاد کنند.

زبان جاوا تکامل یافته و ابزارهای هم‌روندی آن نیز تغییر کرده‌اند. با معرفی Stream Gatherers و Virtual Threads، اکنون می‌توانید خط لوله‌های I/O کارآمد، خوانا و مقیاس‌پذیری را با استفاده از ساختارهای آشنای Stream بنویسید. این دوره کاملاً کاربردی و مدرن است و به شما کمک می‌کند تا اپلیکیشن‌های هم‌روند واقعی را بدون پیچیدگی‌های سنتی مدیریت Thread بسازید.

آنچه در این دوره خواهید آموخت:

  1. درک نحوه ارتقای Java Stream API توسط Stream Gatherers

  2. تسلط بر Stateless Gatherersبا استفاده از integrators برای تبدیل‌های ساده اما قدرتمند استریم

  3. ساخت Stateful Gatherersبا استفاده از initializers برای سناریوهایی که نیاز به زمینه مشترک یا در حال تغییر دارند

  4. پیاده‌سازی منطق Finisherبرای تجمیع نهایی، پاک‌سازی یا تبدیل حالت پایانی استریم

  5. بررسی Combinersو نقش آن‌ها در اجرای استریم‌های موازی (Parallel Stream)

  6. بررسی عمیق gathererهای داخلی (Built-in)و یادگیری زمان و نحوه استفاده موثر از آن‌ها

  7. نوشتن gathererهای سفارشیبرای پیاده‌سازی الگوهای پیشرفته استریم

  8. استفاده از Virtual Threadsبرای مدیریت حجم بالای وظایف I/O-bound با کمترین سربار

  9. طراحی Concurrent Gatherersکه:

    • نتایج را به صورت هم‌زمان اجرا و ارسال می‌کنند

    • از محدودیت‌های هم‌روندیبرای جلوگیری از اتمام منابع پشتیبانی می‌کنند

    • خطاها را بدون مسدود کردن سایر عملیات مدیریت می‌کنند (مانند الگوی Delay Error)

    • امکان پردازش هم‌روند تو در تورا برای خط لوله‌های چندمرحله‌ای فراهم می‌کنند

  10. ساخت یک پروژه خط لوله عظیم I/O Streamبا استفاده از Stream Gatherers + Virtual Threads

    • دریافت بهینه بیش از ۱۵۰ هزار فراخوانی API با هم‌روندی سبک

    • حذف مجموعه‌های میانی برای بهبود نرخ انتقال (throughput) و بهره‌وری حافظه

    • ذخیره داده‌ها با نوشت‌های دسته‌ای (batched writes)و پایداری سازگار با استریم

چرا این دوره را بگذرانید؟

بسیاری از توسعه‌دهندگان به دلیل پیچیدگی و ترس از مدیریت منابع، از نوشتن کدهای با هم‌روندی بالا دوری می‌کنند. این دوره با استفاده از Stream Gatherers و Virtual Threads، این فرآیند را ساده کرده و دیدگاه شما را تغییر می‌دهد.

شما یاد خواهید گرفت که به جای درگیری با Threadها یا Futureهای سطح پایین، به صورت خط لوله‌های داده ترکیب‌پذیر (Composable Data Pipelines) فکر کنید. الگوهایی که در این دوره می‌سازید، به شما اعتماد به نفس و توانایی لازم برای حل مسائل واقعی I/O-heavy را با حداکثر کارایی می‌دهد.


سرفصل ها و درس ها

مقدمه Introduction

  • نیاز به Stream Gatherers Need For Stream Gatherers

Gathererهای بدون حالت (Stateless) Stateless Gatherers

  • اصطلاحات استریم Stream Terminologies

  • اجزای Gatherer Gatherer Components

  • درخواست ویژه و منابع *** Humble Request & Resource ***

  • راه‌اندازی پروژه Project Setup

  • نحوه عملکرد Integrator با Upstream How Integrator Works With Upstream

  • نحوه عملکرد Integrator با Downstream How Integrator Works With Downstream

  • مرور سریع Quick Recap

  • پیاده‌سازی Filter Implementing Filter

  • Integrator حریص (Greedy) Greedy Integrator

  • Gatherer ترتیبی (Sequential) Sequential Gatherer

  • پیاده‌سازی FlatMap Implementing FlatMap

  • تمرین: اپراتور Take Until [ASSIGNMENT] - Take Until Operator

  • پاسخ تمرین: اپراتور Take Until [ASSIGNMENT SOLUTION] - Take Until Operator

  • جمع‌بندی Summary

  • آزمون Quiz

Gathererهای حالت‌دار (Stateful) Stateful Gatherers

  • Initializer (مقداردهنده اولیه) Initializer

  • نحوه عملکرد Initializer How Initializer Works

  • Gatherer برای مقادیر متمایز (Distinct) Distinct Gatherer

  • تمرین: Distinct Recent Gatherer [ASSIGNMENT] - Distinct Recent Gatherer

  • Gatherer میانگین متحرک (Moving Average) Moving Average Gatherer

  • جمع‌بندی Summary

  • آزمون Quiz

Finisher (نهایی‌کننده) Finisher

  • نحوه عملکرد Finisher - بخش اول How Finisher Works - Part 1

  • نحوه عملکرد Finisher - بخش دوم How Finisher Works - Part 2

  • Gatherer مدل Batch Until Batch Until Gatherer

  • ساختار داده سلسله‌مراتبی: Expand Gatherer - بخش اول Hierarchical Data Structure - Expand Gatherer - Part 1

  • ساختار داده سلسله‌مراتبی: Expand Gatherer - بخش دوم Hierarchical Data Structure - Expand Gatherer - Part 2

  • منابع *** Resource ***

  • ساختار داده سلسله‌مراتبی: دموی Expand Gatherer Hierarchical Data Structure - Expand Gatherer - Demo

  • زنجیره‌سازی Gathererها Chaining Gatherers

  • خطای isRejecting در Downstream و راهکار آن Downstream isRejecting - Issue & Workaround

  • آزمون Quiz

Gathererهای حالت‌دار با استریم موازی Stateful Gatherers With Parallel Stream

  • نیاز به Combiner (ترکیب‌کننده) Need For Combiner

  • نحوه عملکرد Combiner How Combiner Works

  • چرا SubTaskهای بیشتری داریم؟ Why We Have More SubTasks!

  • Gatherer مقدار حداکثری موازی Parallel Max Gatherer

  • Gatherer مدل TopN - بخش اول TopN Gatherer - Part 1

  • Gatherer مدل TopN - بخش دوم TopN Gatherer - Part 2

  • آیا به Parallel Stream نیاز دارید؟ Do You Need Parallel Stream?

  • آزمون Quiz

Gathererهای داخلی (Built-in) Built-In Gatherers

  • مقایسه Window Fixed و Window Sliding Window Fixed vs Window Sliding

  • عملیات Fold Fold

  • عملیات Scan Scan

  • Map Concurrent (نقشه‌برداری هم‌زمان) Map Concurrent

  • تفاوت Parallel و Map Concurrent در نحوه عملکرد Parallel vs Map Concurrent - How They Work

  • ترتیب و مشکلات احتمالی در Map Concurrent Map Concurrent - Ordering & Potential Issues

  • جمع‌بندی Summary

الگوهای هم‌روندی با Virtual Threads و Stream Gatherers Concurrency Patterns With Virtual Threads & Stream Gatherers

  • سرویس‌های خارجی *** External Services ***

  • بررسی سرویس‌های خارجی External Services

  • کلاینت سرویس خارجی External Service Client

  • پیاده‌سازی Map Concurrent Map Concurrent

  • پیاده‌سازی Execute Concurrent Gatherer - بخش اول Execute Concurrent Gatherer Implementation - Part 1

  • پیاده‌سازی Execute Concurrent Gatherer - بخش دوم Execute Concurrent Gatherer Implementation - Part 2

  • پیاده‌سازی Execute Concurrent Gatherer - بخش سوم Execute Concurrent Gatherer Implementation - Part 3

  • دموی Execute Concurrent Gatherer Execute Concurrent Gatherer - Demo

  • محدود کردن درخواست‌های در جریان (In-Flight) Limiting In-Flight Requests

  • پیاده‌سازی Delay Error Gatherer - بخش اول Delay Error Gatherer Implementation - Part 1

  • پیاده‌سازی Delay Error Gatherer - بخش دوم Delay Error Gatherer Implementation - Part 2

  • دموی Delay Error Gatherer Delay Error Gatherer - Demo

  • مدیریت خطا در ExecutorService با برنامه‌نویسی داده-محور ExecutorService: Error Handling Using Data Oriented Programming

  • هم‌روندی تو در تو: بیان مسئله Nested Concurrency - Problem Statement

  • هم‌روندی تو در تو: Aggregate Concurrent Gatherer - بخش اول [Nested Concurrency] - Aggregate Concurrent Gatherer - Part 1

  • هم‌روندی تو در تو: Aggregate Concurrent Gatherer - بخش دوم [Nested Concurrency] - Aggregate Concurrent Gatherer - Part 2

  • هم‌روندی تو در تو: شفاف‌سازی حداکثر هم‌روندی [Nested Concurrency] - Max Concurrency Clarification

  • در مورد SubTaskهای بیشتر چه می‌گوییم؟ What About More SubTasks?

  • پیاده‌سازی SubTask Executor SubTask Executor - Implementation

  • دموی SubTask Executor SubTask Executor - Demo

  • الگوی Timeout و مشکلات احتمالی Timeout Pattern & Potential Issues

  • محدودیت‌های Blocking Integrator Limitations Of Blocking Integrator

پردازش I/O عظیم با Virtual Threads و Stream Gatherers Massive I/O With Virtual Threads & Stream Gatherers

  • بحث پیرامون نیازمندی‌ها Requirements Discussion

  • هدف پروژه Project Goal

  • منابع *** Resource ***

  • راه‌اندازی پروژه Project Setup

  • کلاینت داده‌های جغرافیایی (Geo Data) Geo Data Client

  • پیکربندی اپلیکیشن Application Configuration

  • راه‌اندازی سرویس Geo Crawler Geo Crawler Service Setup

  • مشکل نتایج میانی Intermediate Results Issue

  • پیاده‌سازی سرویس Geo Crawler Geo Crawler Service Implementation

  • دموی Geo Crawler Geo Crawler Demo

  • رفع خطای Connection Reset Connection Reset Error - Issue Fix

  • جمع‌بندی Summary

گام‌های بعدی چیست؟ Whats Next?

  • گام‌های بعدی چیست؟ Whats Next?

نمایش نظرات

آموزش جاوا مدرن: Stream Gatherers و هم‌روندی مقیاس‌پذیر (Scalable Concurrency)
جزییات دوره
6 hours
79
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
335
4.8 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Vinoth Selvaraj Vinoth Selvaraj

مهندس اصلی