آموزش جاوا چند رشته ای، همزمانی و بهینه سازی عملکرد

Java Multithreading, Concurrency & Performance Optimization

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: در برنامه نویسی چند رشته ای، همزمان و موازی در جاوا، با تاکید قوی بر عملکرد بالا، متخصص شوید. کسب دانش عملی در سطح متخصص از معماری نرم افزار مدرن و برنامه نویسی سطح پایین با استفاده از Threads ایجاد برنامه های کاربردی با کارایی بالا و پاسخگو، مشتریان از آنها استفاده می کنند و دوست خواهند داشت یادگیری استفاده از رایانه و زبان جاوا با استفاده از برنامه نویسی همزمان و موازی پیش نیازها: ویندوز، مک یا لینوکس کامپیوتر جاوا توسعه کیت (JDK) 8 یا بالاتر نصب شده دانش پایه برنامه نویسی در جاوا

توضیحات

اگر هواپیمای جت خود را داشتید، آیا آن را به فروشگاه مواد غذایی می‌رانید یا با آن در یک تور در سراسر جهان پرواز می‌کردید؟

امروزه هر رایانه و تلفنی با قدرت محاسباتی بسیار زیاد و هسته های متعددی عرضه می شود که امکان موازی سازی کامل را فراهم می کند. در این دوره، شما به سفری خواهید رفت تا تمام ابزارهای اساسی را که برای تبدیل شدن به یک توسعه دهنده اپلیکیشن چند رشته ای مطمئن و موفق نیاز دارید، بیاموزید. با استفاده از Multithreading و Concurrency یاد می گیریم که از رایانه خود حداکثر استفاده را ببریم تا واقعاً آن را به پرواز در آوریم!

آموزش فلسفه

این دوره برای آموزش "چگونه ماهیگیری" به شما طراحی شده است. به‌جای حفظ کردن کلاس‌ها، کتابخانه‌ها یا APIهای جاوا، اصول برنامه‌نویسی چند رشته‌ای را یاد می‌گیریم، از اصول اولیه کامل تا موضوعات بسیار پیشرفته در چند رشته‌ای.

همه سخنرانی‌ها شامل نظریه درست و همراه با مثال‌های عملی از زمینه‌های مرتبط مانند:

  • برنامه های رابط کاربری

  • پردازش تصویر

  • برنامه های کاربردی وب

  • برنامه های محاسباتی

  • و دیگران

این یک دوره عملی است که در وقت شما صرفه جویی می کند. به جای پر کردن ساعت‌ها مطالب، مهم‌ترین موضوعات را بر اساس تجربه عملی خود انتخاب کردم.

دانشجوی مورد نظر برای این دوره

  • دانش آموزانی که قبلاً تجربه و دانش اولیه در برنامه نویسی در جاوا دارند.

  • دانش آموزانی که می خواهند مهارت های برنامه نویسی چند رشته ای، موازی و همزمان را در مدت زمان کوتاهی کسب کنند.

  • دانش آموزانی که علاقه مند به بهینه سازی عملکرد و به دست آوردن یک پایه خوب در موضوعات ذکر شده در بالا هستند.

  • دانش آموزانی که می خواهند حرفه خود را به سطح بالاتری برسانند. این که آیا شما یک

    هستید
    • به تازگی فارغ التحصیل شده اید و به دنبال یافتن شغلی رویایی هستید.

    • یک مهندس حرفه ای که می خواهد برنامه نویس بهتری شود و مهارت های شما را بهبود بخشد.

  • یک فریلنسر که می خواهد پروژه خود را توسعه دهد و به دنبال یادگیری نحوه نوشتن کد چند رشته ای کارآمد است.


    پس این دوره برای شماست!

بیوگرافی کوتاه

علاقه من به چند رشته و همزمانی در کالج شروع شد، جایی که روی یک پروژه تحقیقاتی B+ Tree بسیار مقیاس پذیر، توزیع شده، تحت حمایت IBM کار کردم.

بعداً به عنوان مهندس معماری کامپیوتر در شرکت اینتل و به عنوان مهندس نرم افزار در شرکت های دیگر کار کردم که در آن برنامه ها و ویژگی های بسیاری شامل کدهای چند رشته ای کارآمد و بهینه برای ارائه ویدئو، صدا و داده در زمان واقعی - در آموزش، توسعه دادم. مراقبت‌های بهداشتی، واقعیت افزوده، و فناوری تبلیغات.

امروز من یک مهندس نرم افزار اصلی و معمار نرم افزار هستم. آموزش و راهنمایی مهندسان در همه سطوح هم شغل و هم علاقه من است.

ما

را یاد خواهیم گرفت
  • اصول سیستم عامل و انگیزه برای چند رشته و همزمانی.

  • اصولات چند رشته ای - نحوه ایجاد رشته در جاوا و همچنین برقراری ارتباط بین رشته ها در جاوا.

  • ملاحظات عملکرد و الگوهای طراحی برنامه های کاربردی چند رشته ای و موازی. بهینه سازی برای تأخیر یا توان عملیاتی.

  • اشتراک گذاری داده ها بین رشته ها در جاوا. تمام مشکلات و چالش ها و همچنین راه حل ها و بهترین شیوه ها.

  • الگوریتم‌ها و ساختارهای داده پیشرفته بدون قفل برای افزایش پاسخگویی و عملکرد.

تا پایان دوره

شما قادر خواهید بود

  • برنامه‌های چند رشته‌ای صحیح، پاسخگو و کارآمد را در جاوا، برای هر هدف و مقیاسی بنویسید.

  • بهترین شیوه‌ها را برای معماری برنامه‌ها، الگوریتم‌ها و کتابخانه‌های چند رشته‌ای اعمال کنید.

  • در برنامه نویسی موازی همزمان، آگاه شوید، که به شما در مصاحبه های شغلی، کار روزانه به عنوان یک مهندس و همچنین در پروژه های شخصی شما کمک می کند.

همین امروز در جاوا چند رشته ای، همزمانی و بهینه سازی عملکرد متخصص شوید!


سوالات متداول

- "آیا این دوره به من در مورد سوالات مصاحبه کمک خواهد کرد؟"

بله! این دوره بر کمک به شما برای مهارت در چند رشته ای و همزمانی به طور کلی و همچنین تسلط بر چند رشته ای در جاوا به طور خاص متمرکز است. شما همه آنچه را که در مورد موضوعات در جاوا نیاز دارید و همچنین موضوعات رایج در سوالات مصاحبه شامل قفل کردن، همگام سازی در جاوا، سازماندهی حافظه پشته و پشته و غیره را خواهید آموخت. اگرچه این دوره به طور خاص روی سؤالات مصاحبه متمرکز نیست و هیچ راهی برای پیش بینی آنچه در طول سؤال از شما پرسیده می شود وجود ندارد، دانشی که به دست می آورید قطعاً شما را از سایر داوطلبان متمایز می کند.


- "آیا این دوره تمام کلاس های رشته و API ها در جاوا را پوشش می دهد؟"

"خیر. کتاب‌ها و دوره‌های آکادمیک گران‌قیمتی وجود دارند که هر کلاس و API را پوشش می‌دهند و تکمیل آن ماه‌ها طول می‌کشد. علاوه بر این، Oracle اسناد جاوا عالی را ارائه می‌کند که هر API و کلاس چند رشته‌ای جاوا را پوشش داده و توضیح می‌دهد.

این دوره متفاوت است!

بر اساس سالها تجربه در این زمینه، من با دقت یک برنامه درسی کوتاه طراحی کرده ام که همه موارد ضروری را در مدت زمان کوتاهی به شما آموزش می دهد.

بدون پرکننده! دیگر وقت خود را برای یادگیری چیزهایی که خودتان می‌توانید در عرض 5 دقیقه بخوانید یا هرگز به آن نیاز ندارید، تلف نکنید!

این دوره پایه و اساس شما را برای تبدیل شدن به یک متخصص در چند رشته ای و همزمانی ایجاد می کند. و همچنین بتوانید با موفقیت و به راحتی دانش خود را در آینده گسترش دهید.


- "اگر در طول دوره چیزی متوجه نشدم و سوالی داشتم، چه کنم؟"

مشکلی نیست! من اینجا هستم تا به شما کمک کنم تا موفق شوید! Multithreading موضوع آسانی نیست و از هیچکس انتظار نمی رود که همه آن را فوراً دریافت کند. هر سخنرانی دارای یک بخش Q A است که در آن دانش آموزان می توانند در مورد سخنرانی یا هر سوال بعدی در مورد موضوع به طور کلی سوال بپرسند. من (مدرس) به تمام سوالات به موقع پاسخ خواهم داد و مطمئن می شوم که همه ابزارهای موفقیت را در اختیار دارید.


- "آیا این دوره ارتباطات بین فرآیندی و سیستم های توزیع شده را پوشش می دهد؟"

خیر. اگرچه این موضوعات واقعاً جالب و مهم هستند که شامل همزمانی می شوند. آنها به طور مستقیم با چند رشته ای جاوا که موضوع اصلی دوره است، مرتبط نیستند. ما در طول دوره به آن موضوعات اشاره می کنیم، اما آنها خارج از محدوده هستند و شایسته دوره خودشان هستند. مفاهیم، ​​موارد استفاده و چالش‌ها بسیار متفاوت از آن‌هایی هستند که هنگام بهینه‌سازی عملکرد یک برنامه، الگوریتم یا کتابخانه چند رشته‌ای جاوا با آن‌ها مواجه می‌شویم، بنابراین در اینجا به آنها نمی‌پردازیم.


- "چرا برای برنامه نویسی همزمان به یک دوره جداگانه نیاز دارم؟"

برنامه نویسی همزمان اساساً با برنامه نویسی متوالی انتقالی متفاوت است. مانند هر تصمیم مهندسی، همیشه یک معامله وجود دارد. برنامه نویسی موازی و همزمان می تواند تأثیر مثبت فوق العاده ای بر عملکرد و پاسخگویی برنامه داشته باشد، اما درست کردن آن بسیار دشوارتر است. در این دوره آموزشی، تمام نکات، تکنیک‌ها و بهترین روش‌ها را برای استفاده حداکثری از برنامه‌های چند رشته‌ای در جاوا خواهیم آموخت.


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

معرفی Introduction

  • مبانی انگیزه و سیستم عامل - قسمت 1 Motivation & Operating Systems fundamentals- Part 1

  • مبانی سیستم عامل - قسمت 2 Operating Systems Fundamentals - Part 2

  • آزمون مبانی رشته و سیستم عامل Threading and Operating Systems Fundamentals Quiz

اصول Threading - ایجاد موضوع Threading fundamentals - Thread Creation

  • نکاتی در مورد کدنویسی سخنرانی ها و دستورالعمل های اشکال زدایی Tips about Coding Lectures and Debugging Instructions

  • ایجاد موضوعات - قسمت 1، قابلیت های موضوع و اشکال زدایی Threads Creation - Part 1, Thread Capabilities & Debugging

  • ایجاد موضوعات - قسمت 2. وراثت موضوع Threads Creation - Part 2. Thread Inheritance

  • ایجاد موضوع Thread Creation

  • ایجاد موضوع - MultiExecutor Thread Creation - MultiExecutor

  • ایجاد موضوع - راه حل MultiExecutor Thread Creation - MultiExecutor Solution

اصول نخ - هماهنگی موضوع Threading fundamentals - Thread Coordination

  • پایان موضوع و موضوعات شبح Thread Termination & Daemon Threads

  • پایان موضوع و موضوعات شبح Thread Termination & Daemon Threads

  • پیوستن به موضوعات Joining Threads

  • محاسبه چند رشته ای Multithreaded Calculation

  • محاسبه چند رشته ای - راه حل Multithreaded Calculation - Solution

بهینه سازی عملکرد Performance Optimization

  • مقدمه ای بر عملکرد و بهینه سازی برای تاخیر - قسمت 1 Introduction to Performance & Optimizing for Latency - Part 1

  • بهینه سازی برای تاخیر قسمت 2 - پردازش تصویر Optimizing for Latency Part 2 - Image Processing

  • منبع اضافی - پردازش تصویر، فضاهای رنگی، استخراج و دستکاری Additional Resource - Image Processing, Color Spaces, Extraction & Manipulation

  • بهینه سازی برای توان عملیاتی قسمت 1 Optimizing for Throughput Part 1

  • بهینه سازی برای Throughput قسمت 2 - سرور HTTP + Jmeter Optimizing for Throughput Part 2 - HTTP server + Jmeter

  • بهینه سازی عملکرد Performance Optimization

به اشتراک گذاری داده ها بین موضوعات Data Sharing between Threads

  • مناطق حافظه پشته و پشته Stack & Heap Memory Regions

  • مناطق حافظه پشته و پشته Stack & Heap Memory Regions

  • به اشتراک گذاری منابع و مقدمه ای بر بخش های حیاتی Resource Sharing & Introduction to Critical Sections

چالش ها و راه حل های همزمانی The Concurrency Challenges & Solutions

  • بخش بحرانی و همگام سازی Critical Section & Synchronization

  • بخش بحرانی و همگام سازی Critical Section & Synchronization

  • مثال عملی عملیات اتمی، فرار و متریک Atomic Operations, Volatile & Metrics practical example

  • مثال عملی عملیات اتمی، فرار و متریک Atomic Operations, Volatile & Metrics practical example

  • حداقل - حداکثر متریک Min - Max Metrics

  • حداقل - حداکثر متریک - راه حل Min - Max Metrics - Solution

  • شرایط مسابقه و مسابقه داده Race Conditions & Data Races

  • مسابقه داده ها Data Races

  • استراتژی های قفل کردن و بن بست ها Locking Strategies & Deadlocks

  • استراتژی های قفل کردن و بن بست ها Locking Strategies & Deadlocks

قفل پیشرفته Advanced Locking

  • ReentrantLock قسمت 1 - tryLock و قفل قطعی ReentrantLock Part 1 - tryLock and interruptible Lock

  • ReentrantLock قسمت 2 - مثال برنامه رابط کاربری ReentrantLock Part 2 - User Interface Application example

  • ReentrantLock ReentrantLock

  • Reentrant Read Write Lock و پیاده سازی پایگاه داده Reentrant Read Write Lock & Database Implementation

  • قفل خواندن و نوشتن Read-Write Locks

  • خدمات بررسی محصول Product Reviews Service

  • خدمات بررسی محصول - راه حل Product Reviews Service - Solution

ارتباطات بین رشته ای Inter-Thread Communication

  • سمافور - پیاده سازی مصرف کننده تولید کننده مقیاس پذیر Semaphore - Scalable Producer Consumer implementation

  • سمافورها - مانع Semaphores - Barrier

  • متغیرهای شرط - همه منظوره، ارتباطات بین رشته ای Condition Variables - All purpose, Inter-Thread Communication

  • اشیاء به عنوان متغیرهای شرط - wait()، notify() و notifyAll() Objects as Condition Variables - wait(), notify() and notifyAll()

  • متغیرهای شرط Condition Variables

  • CountDown Latch ساده Simple CountDownLatch

  • CountDownLatch ساده - راه حل Simple CountDownLatch - Solution

الگوریتم‌ها، ساختارهای داده و تکنیک‌های بدون قفل Lock-Free Algorithms, Data-Structures & Techniques

  • مقدمه ای بر عملیات بدون انسداد، بدون قفل Introduction to Non-blocking, Lock Free operations

  • اعداد صحیح اتمی و قفل تجارت الکترونیک رایگان Atomic Integers & Lock Free E-Commerce

  • منابع اتمی، مقایسه و تنظیم، ساختار داده با کارایی بالا بدون قفل Atomic References, Compare And Set, Lock-Free High Performance Data Structure

  • الگوریتم‌ها، ساختارهای داده و تکنیک‌های بدون قفل Lock-Free Algorithms, Data-structures & Techniques

فراتر از چند رشته ای - سخنرانی نهایی Beyond Multithreading - Final Lecture

  • سیستم های توزیع شده، کلان داده و عملکرد Distributed Systems, Big Data & Performance

  • سخنرانی پاداش - به یادگیری ادامه دهید Bonus Lecture - Keep Learning

نمایش نظرات

آموزش جاوا چند رشته ای، همزمانی و بهینه سازی عملکرد
جزییات دوره
4 hours
34
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
51,033
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Michael Pogrebinsky  Software Architecture   Java Programming Expert Michael Pogrebinsky Software Architecture Java Programming Expert

مهندس نرم افزار حرفه ای | SW Architect | مربی

Top Developer Academy Top Developer Academy

معماری نرم افزار، محاسبات ابری و برنامه نویسی جاوا