🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش معرفی جامع ماشین مجازی جاوا (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
نمایش نظرات