این دوره به گونهای طراحی شده است که تجربه تئوری و کدنویسی نوشتن کدهای موازی و ناهمزمان با استفاده از ParallelStreams و CompletableFuture را در اختیار شما قرار دهد. پس از تکمیل این دوره، در نوشتن کدهای ناهمزمان/موازی در جاوا بسیار مسلط خواهید شد.
اگر به دنبال نوشتن کد جاوا با کارایی بالا هستید، این دوره آموزشی مناسب برای شماست. این دوره جدیدترین ویژگیهای موجود در جاوای مدرن را پوشش میدهد که به شما کمک میکند کدهایی با عملکرد سریع بنویسید.
این دوره به صراحت API های زیر را در جاوا مدرن پوشش می دهد:
جریان های موازی
CompletableFuture
شروع به برنامه نویسی موازی و ناهمزمان
در این بخش، در مورد نیاز به یادگیری مفاهیم برنامه نویسی موازی و ناهمزمان در توسعه نرم افزار امروزی توضیح خواهم داد
به طور خلاصه در مورد تکامل APIهای همزمان در جاوا صحبت می کند
در مورد تفاوت بین همزمانی و موازی سازی توضیح دهید
راه اندازی پروژه دوره
در این بخش، پروژه پایه را برای کل دوره تنظیم خواهیم کرد.
Threads، Future، ForkJoin FrameWork و محدودیت های آن
در این بخش، در مورد Threads، Future API، ForkJoin FrameWork و محدودیت های آن توضیح خواهم داد
من نمایشی از تمام این مفاهیم را با استفاده از نمونه کد نشان خواهم داد.
محدودیت هایی که در دوره پوشش داده شده است، زمینه را برای ParallelStreams و CompletableFuture API فراهم می کند
شروع به کار با جریان های موازی
در این بخش، همه شما را با جریان های موازی آشنا می کنم و یک مثال ساده را با استفاده از جریان های موازی پیاده سازی می کنم
مقدمه ای بر Streams API و ParallelStreams
یک مثال ساده را با استفاده از ParallelStreams
پیاده سازی کنیدنوشتن تست های واحد برای آزمایش ParallelStreams با استفاده از JUnit5
برنامه پرداخت خرده فروشی را با استفاده از جریان های موازی بسازید
در این بخش، یک برنامه ساده Backend Retail Checkout با استفاده از جریان های موازی می سازیم
جریانهای موازی - زیر سرپوش
در این بخش، قسمتهای داخلی جریانهای موازی را پوشش خواهم داد.
درباره نحوه عملکرد ParallelStreams در زیر کاپوت توضیح خواهم داد
مقایسه عملکرد مجموعههای مختلف هنگام استفاده از آن در مقابل ParallelStreams
استفاده از اپراتورهای پایانه جمعآوری در مقابل کاهش در Streams API و جریانهای موازی
اپراتورهایی که هنگام استفاده در برابر ParallelStreams باعث عملکرد ضعیف می شوند
جریان های موازی - مدل رشته ای مشترک ForkJoin Pool
در این بخش، در مورد موتور اجرایی پشت جریان های موازی توضیح خواهم داد
مدل Threading را پوشش می دهد که در پشت صحنه توسط ParallelStreams استفاده شده است
پیکربندی ThreadPool برای عملکرد سریعتر
جریان های موازی - خلاصه
این بخش همه مواردی را که در بالا در رابطه با ParallelStreams توضیح داده شد خلاصه می کند
سناریوهای "زمان استفاده/زمانی استفاده نکردن" ParallelStreams را پوشش میدهد
CompletableFuture
در این بخش، من همه شما را با CompletableFuture API
آشنا می کنمکاوش توابع CompletableFuture
در این بخش، توابعی را که بخشی از CompletableFuture API هستند کدنویسی و بررسی خواهم کرد
برخی از عملکردهای کلیدی که بخشی از CompletableFuture API هستند را کاوش کنید
تستهای واحد را برای آزمایش CompletableFuture با استفاده از JUnit5 بنویسید
با استفاده از CompletableFuture
یک برنامه ProductService بسازیددر این بخش، نمونه ProductService را با استفاده از CompletableFuture
پیاده سازی می کنیماین بخش به همه شما ایده ای درباره نحوه استفاده از CompletableFuture در یک سناریوی واقعی می دهد
ترکیب Streams و CompletableFuture
در این بخش، تکنیکهای ترکیب Streams با CompletableFuture را به شما نشان خواهم داد.
من این را با افزودن یک پیشرفت به ProductService که InventoryService است بررسی خواهم کرد
گزینههای مختلف موجود برای ادغام Streams API با CompletableFuture را کاوش کنید
رسیدگی/بازیابی استثنا در CompletableFuture
در این بخش، شما را با تکنیک ها/گزینه هایی که برای رسیدگی/بازیابی استثناها با استفاده از CompletableFuture هستند آشنا می کنم
تکنیک های مختلف مدیریت استثنا و بازیابی را که در CompletableFuture در دسترس هستند، توضیح داده و پوشش خواهم داد.
handle()
به طور استثنایی()
whenComplete
من تفاوت رفتارهای بین آنها را مقایسه و توضیح خواهم داد و توصیه هایی در مورد استفاده از کنترل کننده های مختلف برای موارد استفاده مختلف ارائه خواهم کرد.
اجرای Exception Handling/Recovery در ProductService
در این سخنرانی، من تکنیکهایی را برای پیادهسازی تکنیکهای رسیدگی به استثنا در ProductService به شما نشان میدهم
تکنیک رسیدگی و بازیابی استثناها را در ProductInfoService، ReviewService و InventoryService پیاده سازی کنید
CompletableFuture ThreadPool
در این بخش، ThreadPool و گزینه های مختلفی را که برای استفاده با CompletableFuture در دسترس هستند پوشش خواهم داد
من به طور پیش فرض CommonForkJoin ThreadPool را که برای اجرای CompletableFuture استفاده می شود پوشش خواهم داد
من تکنیک های استفاده از ThreadPool سفارشی که می تواند برای اجرای CompletableFuture استفاده شود را پوشش خواهم داد
رشتهها و روشهای سربارگذاری شده غیرهمگام در CompletableFuture
من رشته هایی را که برای اجرای CompletableFuture استفاده می شوند پوشش خواهم داد
من تکنیک استفاده از متدهای Async() را نشان خواهم داد که بخشی از CompletableFuture API برای تغییر اجرای thread ها در CompletableFuture Pipeline است
با استفاده از Spring WebClient و CompletableFuture، RestFul API Client بسازید
در این بخش، با استفاده از Spring WebClient یک سرویس گیرنده api آرامش بخش خواهم ساخت و با CompletableFuture ادغام می شود تا عملکرد تماس های api را بهبود بخشد.
من کدنویسی میکنم و نحوه استفاده از Spring WebClient برای ساختن یک سرویس گیرنده استراحت را نشان میدهم
من برای بهبود عملکرد کلی کد، تکنیک ادغام تماس های RestAPI با CompletableFuture را کدنویسی و نشان خواهم داد.
مدیریت چندگانه CompletableFutures - anyOf()، allOf()
در این بخش، من کدنویسی میکنم و در مورد تکنیکهای مدیریت چندین CompletableFuture توضیح میدهم.
من تابع allOf() را که بخشی از CompletableFuture API است کدنویسی و کاوش می کنم
من تابع anyOf() را که بخشی از CompletableFuture API است کدنویسی و کاوش می کنم
در پایان این دوره، درک کاملی از ParallelStreams و CompletableFuture و نحوه استفاده از آنها در پروژه های خود خواهید داشت.
علاقه مندان به فناوری، مدرس آنلاین
نمایش نظرات