آموزش معرفی جامع ماشین مجازی جاوا (JVM) - آخرین آپدیت

دانلود A Comprehensive Introduction to Java Virtual Machine (JVM)

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

در این دوره، به درک عمیق درونیات JVM دست یابید، از جمله:

  • درک درونیات JVM مانند بارگذاری کلاس (Class Loading)، رفلکشن (Reflection)، جمع‌آوری زباله (Garbage Collection)، هیپ (Heap) و پشته (Stack) و مجموعه دستورالعمل‌های بایت‌کد (Bytecode Instruction Set).
  • آشنایی با چرخه حیات یک کلاس یا اینترفیس در داخل JVM.
  • یادگیری در مورد رفلکشن (Reflection).
  • آشنایی با نواحی مختلف حافظه در JVM مانند هیپ (Heap)، پشته (Stack) و ناحیه متد (Method Area).
  • درک قوی از جمع‌آوری زباله (Garbage Collection) و الگوریتم‌های آن.
  • آشنایی با برخی از دستورالعمل‌های مهم بایت‌کد جاوا (Java Bytecode Instructions).
  • درک آناتومی فایل کلاس (Class File) با استفاده از یک دی‌اسمبلر (Disassembler).

پیش‌نیازها:

  • درک قوی از جاوا Core (مبانی جاوا)
  • تمرکز بالا، چرا که ممکن است مباحث کاملاً جدید باشند.

نکته: اگر قبلاً در دوره جامع جاوا من با عنوان «Java In-Depth: Become a Complete Java Engineer!» ثبت‌نام کرده‌اید، نیازی به ثبت‌نام در این دوره نخواهید داشت. دوره جامع جاوا شامل تمام محتوای پوشش‌داده‌شده در این دوره است. با این حال، به احتمال زیاد این دوره ممکن است گسترش یابد، در حالی که محتوای مرتبط با JVM در دوره جاوا ممکن است دیگر توسعه نیابد.

برای تبدیل شدن به یک مهندس جاوا (Java Engineer) تمام‌عیار، جدای از داشتن دانش قوی در جاوا (Java) و الگوهای طراحی (Design Patterns)، درک خوبی از نحوه عملکرد داخلی JVM (ماشین مجازی جاوا) نیز اهمیت دارد. هدف این دوره، کمک به شما برای دستیابی به درکی عمیق از نحوه کارکرد JVM است. در ادامه، نحوه سازماندهی این دوره آمده است:

در بخش 1، ابتدا به بحث در مورد دلایل ایجاد JVMجاوا) می‌پردازیم و سپس JVM و معماری آن را در سطح بالا بررسی می‌کنیم. در این فرآیند، همچنین نگاهی خواهیم داشت به نحوه عملکرد کامپایل در لحظه (Just-in-time (JIT) compilation).

بخش‌های 2 تا 4 به درونیات واقعی JVM می‌پردازند.

در بخش 2، به بحث در مورد چرخه حیات یک نوع (Lifetime of a Type) می‌پردازیم؛ یعنی بررسی می‌کنیم که از اولین باری که یک نوع دسترسی پیدا می‌کند چه اتفاقاتی برای آن می‌افتد. بارگذاری کلاس (Class Loading) و لینک‌گذاری (Linking) (شامل تایید بایت‌کد - Bytecode Verification) به تفصیل مورد بحث قرار خواهند گرفت و همه چیز با استفاده از کد نمایش داده خواهد شد.

در بخش 3، به بررسی API رفلکشن (Reflection API) می‌پردازیم.

در بخش 4، به نواحی مختلف حافظه (Runtime Data Areas) که JVM با آن‌ها سروکار دارد، نگاهی می‌اندازیم. در اینجا در مورد مواردی مانند ناحیه متد (Method Area)، هیپ (Heap)، جدول متد (Method Table)، جمع‌آوری زباله (Garbage Collection) و پشته‌ها (Stacks) یاد خواهیم گرفت و همچنین به برخی از دستورالعمل‌های بایت‌کد جاوا (Java Bytecode Instructions) نیز خواهیم پرداخت. در یکی از دموها، بررسی خواهیم کرد که چگونه می‌توان اندازه هیپ (Heap Size) را تنظیم کرد و این کار چگونه بر فرآیند جمع‌آوری زباله (Garbage Collection) تأثیر می‌گذارد. برای یادگیری در مورد دستورالعمل‌های بایت‌کد، ما در واقع یک فایل .class را دی‌اسمبل (Disassemble) خواهیم کرد و دستورالعمل‌های بایت‌کد را بررسی کرده و نحوه کار آن‌ها را یاد می‌گیریم.

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

به احتمال زیاد، این دوره نیز به‌روزرسانی خواهد شد تا تا حد امکان جامع و کاربردی باشد.

یادگیری لذت‌بخش!


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

پیش‌زمینه – مروری کلی بر JVM Background ~ A High-level Overview on JVM

  • مقدمه – تاریخچه کوتاه جاوا و JVM Introduction ~ A Brief History of Java & JVM

  • ماشین مجازی جاوا – مروری کلی Java Virtual Machine ~ A High-level Overview

  • کنترل‌های UI برای ناوبری سایت و جزئیات کپی‌رایت UI Controls for Site Navigation & Copyright Details

چرخه حیات یک نوع Lifetime of a Type

  • چرخه حیات یک نوع: انگیزه Lifetime of a Type: Motivation

  • مروری بر چرخه حیات یک نوع در JVM An Overview of Lifetime of a Type within JVM

  • بارگذاری کلاس Class Loading

  • پیونددهی Linking

  • نکته‌ای کوتاه درباره گام تفکیک برای وضوح بیشتر Short Note on Resolution Step for Better Clarity

  • دمو: چرخه حیات یک نوع Demo: Lifetime of a Type

  • آزمون فصل Chapter Quiz

  • بحث‌های مهم پرسش و پاسخ! Important Q&A Discussions!

رفلکشن Reflection

  • مقدمه‌ای بر رفلکشن Introduction to Reflection

  • دسترسی به شیء کلاس Accessing Class Object

  • دمو: رفلکشن Demo: Reflection

  • شبیه‌سازی فریم‌ورک پایه تست واحد – به‌کارگیری رفلکشن! Simulate a Basic Unit Testing Framework ~ Putting reflection into action!

حافظه JVM، جمع‌آوری زباله و دستورالعمل‌های بایت‌کد JVM Memory, Garbage Collection, and Bytecode Instructions

  • مقدمه‌ای بر نواحی داده زمان اجرای JVM Introduction to Runtime Data Areas of JVM

  • ناحیه متد و هیپ Method Area & Heap

  • جدول متد Method Table

  • جمع‌آوری زباله: مقدمه Garbage Collection: Introduction

  • الگوریتم‌های جمع‌آوری زباله JVM JVM's Garbage Collection Algorithms

  • GC: جمع‌آوری‌های نسلی GC: Generational Collections

  • دمو: تنظیم هیپ JVM و تحلیل چرخه‌های GC Demo: Tuning JVM Heap & Analyzing GC Cycles

  • مورد 6: حذف ارجاعات منسوخ شیء Item 6: Eliminate Obsolete Object References

  • پشته Stack

  • فریم پشته Stack Frame

  • مجموعه دستورالعمل: invokespecial و invokevirtual + دمو Instruction Set: invokespecial & invokevirtual + Demo

  • آزمون فصل Chapter Quiz

  • بحث‌های مهم پرسش و پاسخ! Important Q&A Discussions!

رشته‌ها و JVM Strings & JVM

  • استخر رشته و اینترنینگ + دمو String Pool & Interning + Demo

  • مراقب الحاق رشته باشید Beware of String Concatenation

  • آزمون فصل Chapter Quiz

فصل جایزه Bonus Chapter

  • اتصال متد + دمو Method Binding + Demo

  • وب‌سایت‌ها و گروه‌های شبکه‌های اجتماعی برای دنبال کردن Websites & Social Media Groups to Follow

نمایش نظرات

آموزش معرفی جامع ماشین مجازی جاوا (JVM)
جزییات دوره
4 hours
29
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,753
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dheeru Mundluru Dheeru Mundluru

PhD، CTO و مدرس اصلی در Semantic Square