تطوير البرمجيات
ضبط أداء JVM ومعالجة مشكلاته
برنامج تشخيص متقدم للمهندسين المسؤولين عن أنظمة Java في الإنتاج. يقيس المشاركون قبل أن يضبطوا: بنية الذاكرة وسلوك جامع المهملات وتزاحم الخيوط وضغط التخصيص، وذلك عبر Flight Recorder ولقطات الذاكرة والقياسات المرجعية بدل خيارات منسوخة من منتدى.
نظرة عامة
تعلم عملي قابل للتطبيق في بيئة العمل.
تفشل معظم أعمال الأداء في Java لسبب واحد: يغيّر الفريق الخيارات قبل أن يعرف أين يُستهلك الوقت. تُرفع أحجام الذاكرة لإخفاء تسريب، ويُبدَّل جامع المهملات لحل مشكلة تزاحم على الأقفال، وتُضاعَف السعة لامتصاص خلل في التخصيص، ويقيس اختبار مرجعي زمن إحماء المترجم الآني بدل الشيفرة المقصودة. يرسّخ هذا البرنامج انضباط القياس أولاً. يقرأ المشاركون سجلات جمع المهملات وملفات Flight Recorder، ويحللون لقطات الذاكرة لتحديد الكائنات المحتجزة، ويشخّصون التزاحم وتجويع الخيوط من لقطات الخيوط، ويوازنون عن قصد بين الإنتاجية والكمون بأرقام تسند كل تغيير يقترحونه.
المتطلبات المسبقة
خبرة عدة سنوات في تطوير Java أو تشغيلها وإلمام بإدارة تطبيقات Java في بيئة خوادم.
الأهداف
- تفسير بنية ذاكرة JVM وسلوك التخصيص وسجلات جمع المهملات.
- اختيار جامع المهملات وتحجيمه بين G1 وZGC وParallel وفق هدف معلن للكمون أو الإنتاجية.
- تحليل أداء المعالج والتخصيص وتزاحم الأقفال عبر JDK Flight Recorder وMission Control.
- تحليل لقطات الذاكرة لتحديد التسريبات والمجموعات المحتجزة والمالك الحقيقي للذاكرة.
- تشخيص تجويع الخيوط والتجمد المتبادل ونفاد المجمّعات من لقطات الخيوط تحت الحمل.
- تصميم قياسات مرجعية تراعي إحماء المترجم الآني وتنتج أرقاماً تستحق التصرف بناءً عليها.
الفئة المستهدفة
- مهندسو Java الأقدمون المسؤولون عن الأداء في الإنتاج
- مهندسو موثوقية المواقع والمنصات الذين يشغّلون أحمال JVM
- معماريو التطبيقات الذين يحددون أهداف الكمون والسعة والكلفة
- مهندسو الأداء وأخصائيو اختبارات الحمل
- مهندسو الدعم الذين يعالجون الحوادث الإنتاجية المصعّدة
- القادة التقنيون المساءلون عن كلفة البنية التحتية لخدمات Java
محاور البرنامج
هيكل واضح لرحلة التعلم.
محاور البرنامج
تظهر محاور البرنامج في صندوق واحد بدلاً من تحويل كل سطر إلى وحدة منفصلة.
الوحدة 1: بنية JVM الداخلية والكلفة الحقيقية للكائن
مناطق الذاكرة أثناء التشغيل: الكومة وmetaspace ومكادس الخيوط والذاكرة الأصلية
تخطيط الكائن وحجم ترويسته والكلفة الفعلية لعملية التخصيص
مستويات الترجمة الآنية والتضمين ولماذا تضلل القياسات المبكرة
تحليل الإفلات وإلغاء التحسين وحدود ما يستطيع المترجم إصلاحه
الوحدة 2: سلوك جمع المهملات واختيار الجامع
الجمع الجيلي والمناطق وكيف ينشأ زمن التوقف فعلياً
ضبط G1: حجم المناطق وأهداف التوقف والتخصيصات الضخمة
ZGC والجمع منخفض الكمون: كلفته في الإنتاجية والبصمة الذاكرية
قراءة سجلات جمع المهملات لتمييز مشكلة الحجم عن التسريب الحقيقي
الوحدة 3: تسريبات الذاكرة وتحليل الكومة
التقاط لقطات الذاكرة بأمان من نسخة إنتاجية قيد التشغيل
أشجار المهيمنات والحجم المحتجز وتحديد الكائن الذي يحتفظ بالذاكرة
مصادر التسريب الكلاسيكية: الذواكر المؤقتة ومتغيرات الخيوط والمستمعون ومحمّلات الأصناف
نمو الذاكرة خارج الكومة والذاكرة الأصلية الذي لا يظهر في الكومة إطلاقاً
الوحدة 4: التحليل باستخدام Flight Recorder وMission Control
تفعيل تسجيل JFR المستمر بعبء يمكن للإنتاج تحمله
قراءة ملفات المعالج والتخصيص والإدخال والإخراج معاً لا كل على حدة
إعدادات الأحداث والأحداث المخصصة وتسجيل الحادث أثناء وقوعه
تحويل ملف التحليل إلى قائمة مرتبة بالتغييرات التي تستحق التنفيذ فعلاً
الوحدة 5: التزامن والتزاحم وسلوك الخيوط
لقطات الخيوط: التجمد المتبادل والخيوط المحجوبة والمجمّعات المستنفدة
تزاحم الأقفال والمشاركة الزائفة وأحداث المزامنة المتنازع عليها
تحجيم المنفّذات وعمق الطوابير والضغط العكسي تحت حمل متواصل
الخيوط الافتراضية: أي الأحمال يستفيد وأيها يتراجع بشكل ملموس
الوحدة 6: القياس المرجعي وقرارات الضبط والسعة
قياسات JMH التي تصمد أمام الإحماء وحذف الشيفرة الميتة والضجيج
مئينات الكمون والإغفال المنسق والتقارير الصادقة لأصحاب المصلحة
حدود الحاويات وحصص المعالج وإعدادات JVM التلقائية ضمن cgroups
توثيق قرار الضبط ليتمكن الفريق من مراجعته لاحقاً استناداً إلى أدلة
المواد المقدمة
- دليل الدورة وأمثلة شيفرة موثّقة وملاحظات مرجعية
- بيئة معملية عملية ومستودعات بداية جاهزة
- تمارين وقوائم تحقق وقوالب شيفرة قابلة لإعادة الاستخدام
- شهادة إتمام من 4D
- دعم فني بعد انتهاء البرنامج
خيارات التدريب
يمكن تقديم البرامج داخل مقر المؤسسة، أو عن بُعد، أو بصيغة مدمجة بحسب جدول الفريق وموقعه وأهداف التعلم. عندما يتضمن البرنامج شهادة أو اختباراً من جهة خارجية، تبقى قواعد الشهادة ورسومها خاضعة لسياسات الجهة المانحة، بينما تقدم 4D التدريب ودعم التحضير.
لماذا البعد الرابع
تقدّم 4D هذا البرنامج على أحمال مزوّدة بأدوات القياس لا على شرائح عرض: يفتعل المشاركون عمداً تسريبات وتزاحماً وتراجعاً في أزمنة التوقف، ثم يتعقبونها بالأدوات نفسها التي سيلجؤون إليها في الثالثة فجراً. وحين يتاح تزويدنا بها، ينطلق المدربون من سجلات جمع المهملات وتسجيلاتكم الخاصة، فتخرج قرارات الضبط من القاعة مطبَّقة بالفعل.
دورات ذات صلة
أساسيات البرمجة بلغة Python
مقدمة عملية إلى Python للمهندسين والمحللين الذين يحتاجون شيفرة تعمل فعلاً لا مقتطفات تعليمية. يكتسب المشاركون طلاقة في أنواع البيانات والمجموعات والدوال والملفات ومعالجة الأخطاء، ثم يبنون برنامجاً صغيراً يقرأ بيانات حقيقية وينتج تقريراً قابلاً للاستخدام.
View coursePython المتوسط وممارسات الشيفرة النظيفة
برنامج موجّه للمطورين الذين تعمل شيفرة Python لديهم لكن يصعب تغييرها. يغطي dataclasses والمولّدات والمزخرفات ومديري السياق وتلميحات الأنواع، ثم يطبّق خطوات إعادة الهيكلة التي تحوّل وحدة من تسعمئة سطر إلى وحدات صغيرة مختبَرة تحرسها أدوات black وruff وmypy.
View courseأتمتة المهام المكتبية والبرمجة النصية بلغة Python
برنامج موجّه للفرق التي تهدر ساعات أسبوعية في أعمال متكررة على الملفات والجداول والتقارير. يقوم المشاركون بأتمتة هذه المهام باستخدام Python: معالجة الملفات دفعياً وجداول Excel وCSV واستدعاء واجهات REST وتنبيهات البريد والمهام المجدولة التي تعمل دون إشراف وتبلّغ بوضوح عند الفشل.
View course