Java Advanced II: Java عالية الأداء - دورة بقيمة 67500 روبل روسي. من مركز تدريب IBS، مدة التدريب 40 ساعة، التاريخ 29 يناير 2024.
Miscellanea / / December 04, 2023
يعمل بافيل في شركة Luxoft منذ عام 2005. خلال هذا الوقت، شارك في عدد من المشاريع للشركات الروسية والأجنبية الرائدة، مثل Boeing، Russian Post، DHL، MVideo. ويلعب حاليًا دور مهندس البرمجيات الرئيسي في مشروع لدعم أكبر سلسلة بيع بالتجزئة لبيع الإلكترونيات والأجهزة المنزلية في روسيا. ينصب اهتمام Pavel الرئيسي على تطوير تطبيقات Java القابلة للتطوير وتوفير الحلول التقنية لتحسين أداء التطبيق وموثوقيته.
المواضيع التي تمت تغطيتها:
وحدة 1. مراجعة ضبط الأداء – 5 ساعات.
الممارسات العامة؛
استراتيجيات ضبط الأداء.
مقاييس الأداء؛
كيفية تحسين الإنتاجية؟
أدوات قياس الأداء؛
جميتر؛
اختبار الحمل باستخدام JMeter؛
كيفية تحسين الإنتاجية باستخدام الهندسة المعمارية؟
أفضل الممارسات لتحسين أداء التعليمات البرمجية.
الواجبات المنزلية - 2 ساعة.
الوحدة 2. خوارزميات GC – 5 ساعات.
استخدام الذاكرة لكائنات Java؛
الأساليب والخوارزميات العامة لجامعي القمامة؛
جامع القمامة التسلسلي GC ؛
جامع القمامة الموازي GC ؛
جامع القمامة CMS؛
جامع القمامة G1؛
شيناندواه جامع القمامة؛
ضبط جامعي القمامة.
أدوات لجمع وتحليل مقاييس جمع القمامة؛
اختيار جامع القمامة الأمثل.
الوحدة 3. مترجم HotSpot JIT – 5 ساعات.
تجميع JIT؛
جافا بايت كود؛
تجميع متعدد الطبقات؛
ذاكرة التخزين المؤقت للكود وضبطه؛
تحسين الكود؛
إلغاء تحسين الكود ومتى يحدث؛
أداة JITWatch لتحليل نتائج التجميع؛
أنواع التحسينات.
تحسينات المضاربة.
إعدادات المترجم؛
تجميع AOT.
الواجبات المنزلية - 2 ساعة.
الوحدة 4. أعلام JVM - 3 ساعات.
الغرض وفئات أعلام JVM؛
أعلام عامة؛
الأعلام المرتبطة بالسلاسل؛
أعلام إدارة الذاكرة؛
نقاط الأمان والأعلام المرتبطة بها؛
TLAB والأعلام المرتبطة بها؛
خطة ضبط JVM.
الوحدة 5. اختبار أداء الخوارزميات (المعيارية) باستخدام JMH – ساعتان.
ما هو القياس؟
مقدمة إلى JMH؛
واجهة برمجة تطبيقات JMH؛
أمثلة غير تافهة.
تطبيق JMH في الممارسة العملية.
الواجبات المنزلية - 2 ساعة.
الوحدة 6. استخدام الذاكرة خارج الكومة (ذاكرة خارج الكومة) – 3 ساعات.
ما هو sun.misc. غير آمنة؛
طرق غير آمنة
أداء الذاكرة الأصلية؛
إنشاء هياكل البيانات في الذاكرة الأصلية؛
تقييم أداء الذاكرة الأصلية ومقارنتها مع ذاكرة الكومة؛
واجهة برمجة التطبيقات الواعدة للوصول إلى الذاكرة الخارجية.
الوحدة 7. التسلسل - 2 ساعة.
مُسلسلات JSON (GSON، Jackson)؛
أجهزة التسلسل الثنائية (Protobuf، Jackson Smile، Kryo، FST، One NIO)؛
مقارنة أداء المسلسلات المختلفة.
الوحدة 8. ملف تعريف جافا – 4 ساعات.
متى وكيف نفعل التنميط؟
ملفات تعريف أخذ العينات والأجهزة ؛
استخدام Java VisualVM للتوصيف؛
التنميط مع Spring AOP؛
التوصيف باستخدام IDEA وملف التعريف غير المتزامن؛
مسجل طيران جافا؛
تحليل سجلات Java Flight Recorder باستخدام Mission Conrol؛
إنشاء وتسجيل أحداث JFR المخصصة؛
استخدام وكلاء Java لتضمين التعليمات البرمجية وتسجيل أي أحداث في Java Flight Recorder؛
كتابة برامج للتحليل التلقائي لسجلات JFR؛
جمع وتحليل استعلامات SQL باستخدام JFR؛
جمع وتحليل طلبات REST باستخدام JFR.
الواجبات المنزلية - 2 ساعة.
الوحدة 9. مراقبة وتحليل بيانات الكومة. تسرب الذاكرة - 2 ساعة.
أدوات تحليل البيانات في الذاكرة؛
علامات تسرب الذاكرة.
الأسباب الرئيسية لتسرب الذاكرة.
بحث وكشف تسرب الذاكرة.
الوحدة 10. GraalVM – 3 ساعات
النظام البيئي GraalVM؛
وقت تشغيل GraalVM؛
واجهة برمجة التطبيقات متعددة اللغات؛
تجميع والصورة الأصلية.
المعايير.
الوحدة 11. التخزين المؤقت في تطبيقات جافا - 3 ساعات.
أنماط التخزين المؤقت؛
مقارنة واجهات برمجة التطبيقات لذاكرة التخزين المؤقت؛
التخزين المؤقت لاستعلامات قاعدة البيانات؛
التخزين المؤقت لطلبات HTTP؛
المقاييس والإعدادات الأساسية لمكتبات التخزين المؤقت؛
مقارنة مكتبات التخزين المؤقت الشعبية؛
التخزين المؤقت على مستوى الخدمة؛
خدمات التخزين المؤقت الربيع.
التطبيقات التي تستخدم ذاكرات التخزين المؤقت بمستويات مختلفة.
الوحدة 12. مراجعة الأساليب الأخرى لتحسين الإنتاجية - 3 ساعات.
البرمجة المتوازية (تجمعات الخيوط، الخيوط المتوازية، بنية وصلة الشوكة)؛
البرمجة غير المتزامنة
البرمجة التفاعلية (Reactor، VertX)؛
تحسين العمل مع قواعد البيانات؛
الحوسبة السحابية (الخدمات الصغيرة، Spring Cloud)؛
المعايير والاستنتاجات.