ما هو JIT في جافا؟ - فهم أساسيات جافا



يعد برنامج التحويل البرمجي Just-In-Time أحد الأجزاء الأساسية في Java Runtime Environment. ستخبرك هذه المقالة عن JIT في Java كيف يعمل هذا المترجم على تحسين أداء تطبيقات Java.

تستخدم كل لغة برمجة مترجمًا لتحويل رمز اللغة عالي المستوى إلى كود ثنائي على مستوى الآلة ، لأن النظام لا يفهم سوى الشفرة الثنائية. يختلف المترجم بناءً على نوع لغة البرمجة. نتحدث الآن عن ، يستخدم هذا المترجم المذهل المسمى JIT (في الوقت المناسب) في Java . ستخبرك هذه المدونة بكل شيء عن JIT Java Compiler.

فيما يلي الموضوعات التي تم تناولها في هذه المقالة:





لذلك دعونا نبدأ!

Java JIT Compiler - نظرة عامة

ال مترجم Just-In-Time هو أحد أجزاء لا يتجزأ من . إنها مسؤولة بشكل أساسي عن تحسين أداء التطبيقات المستندة إلى Java في وقت التشغيل أو وقت التنفيذ. بشكل عام ، فإن الشعار الرئيسي للمجمع هو زيادة أداء التطبيق للمستخدم النهائي ومطور التطبيق.



الغوص العميق في JIT في Java

  • كود البايت هو الإمكانية الرئيسية لبيئة WORA (الكتابة مرة واحدة ، التشغيل في أي مكان) في Java. سرعة تطبيق جافا يعتمد على الطريقة التي يتم بها تحويل رمز البايت إلى رمز الجهاز الأصلي. يمكن تفسير الرمز الثانوي أو تحويله إلى رمز أصلي أو تنفيذه مباشرة على المعالج. ولكن ، إذا تم تفسير الرمز الثانوي ، فإنه يؤثر بشكل مباشر على سرعة التطبيق.

  • من أجل تسريع الأداء ، يتواصل مترجم JIT مع JVM في وقت التنفيذ من أجل ترجمة تسلسلات كود البايت إلى كود الجهاز الأصلي. بشكل أساسي ، عند استخدام JIT Compiler ، يتم تنفيذ الكود الأصلي بسهولة بواسطة الجهاز عند مقارنته بـ JVM Interpreter. من خلال القيام بذلك ، سيكون هناك مكسب كبير في سرعة التنفيذ.

  • عندما يقوم مترجم JIT بتجميع سلسلة كود البايت ، فإنه يقوم أيضًا بإجراء تحسينات معينة مثل تحليل البيانات ، والترجمة من عمليات المكدس لتسجيل العمليات ، والقضاء على التعبيرات الفرعية ، وما إلى ذلك. فعال للغاية عندما يتعلق الأمر بالتنفيذ والأداء.



الآن بعد أن تعرفت على أساسيات مترجم JIT ، دعنا ننتقل إلى أبعد من ذلك ونفهم عمله.

عمل مترجم JIT في جافا

يقوم مترجم JIT بتسريع أداء تطبيقات Java في وقت التشغيل. نظرًا لأن Java عبارة عن ملف ، وهي تتألف من . في الأساس ، يشكل رمز بايت مستقل عن النظام الأساسي و eتم تنفيذه بواسطة JVM عبر بنيات متنوعة.

تدفق العمل:

يوضح الرسم البياني أدناه كيف يتم العمل الفعلي للتجميع في Java Runtime Environment.

مترجم JIT - JIT في Java - Edureka

  1. عندما تقوم بترميز ملف ، يستخدم JRE مترجم javac لتجميع المستوى العالي كود المصدر لبايت كود . بعد ذلك ، يقوم JVM بتحميل رمز البايت في وقت التشغيل ويتحول إلى رمز ثنائي على مستوى الجهاز لمزيد من التنفيذ باستخدام المترجم.

  2. كما ذكرت أعلاه ، فإن تفسير كود Java byte يقلل من الأداء عند مقارنته بالتطبيق الأصلي. هذا هو المكان الذي يساعد فيه JIT Compiler على تعزيز الأداء من خلال تجميع كود البايت في كود الجهاز الأصلي 'في الوقت المناسب' يهرب.

  3. يتم تنشيط مترجم JIT وتمكينه افتراضيًا عند استدعاء طريقة في Java. عندما يتم تجميع طريقة ما ، فإن Java Virtual Machine تستدعي الكود المترجم للطريقة مباشرة دون تفسيرها. وبالتالي ، فإنه لا يتطلب الكثير من استخدام الذاكرة ووقت المعالج. يؤدي ذلك بشكل أساسي إلى تسريع أداء تطبيق Java Native.

لذلك ، هذه هي الطريقة التي يعمل بها. دعنا الآن نتعمق في هذه المقالة ونفهم جوانب الأمان في JIT Compiler في Java.

الجوانب الأمنية لـ JIT في Java

يتم تجميع كود البايت في كود الآلة بواسطة JIT Compiler مباشرة في الذاكرة. أي يغذي المترجم كود الآلة مباشرة في الذاكرة وينفذها. في هذه الحالة ، لا يخزن رمز الجهاز في القرص قبل استدعاء ملف الفئة وتنفيذه. بشكل أساسي ، يجب وضع علامة على الذاكرة على أنها قابلة للتنفيذ. لأغراض أمنية ، يجب إكمال ذلك بعد كتابة الرمز في الذاكرة. يجب أيضًا وضع علامة عليها للقراءة فقط لأن الذاكرة القابلة للتنفيذ تمثل فجوة أمان. إذا كنت ترغب في معرفة المزيد عن هذا ، يمكنك الاطلاع على هذه المقالة على جوانب أمان مترجم JIT .

الآن ، دعنا ننتقل الآن إلى أبعد من ذلك ونتعرف على إيجابيات وسلبيات مترجم في الوقت المناسب في جافا.

إيجابيات وسلبيات JIT في Java

الايجابيات :

  1. ستعمل شفرة Java التي كتبتها قبل سنوات بشكل أسرع حتى اليوم مما يحسن أداء برامج Java.

  2. يتم أيضًا تنفيذ الصور الأصلية بشكل أسرع لأنها لا تمتلك أنشطة بدء التشغيل وتتطلب ذاكرة أقل.

سلبيات:

  1. يزيد من تعقيد .

  2. لا تستفيد البرامج ذات الشفرات الأقل من الترجمة في الوقت المناسب.

هذا يقودنا إلى نهاية هذه المقالة عن JIT في Java. آمل أن تكون قد وجدتها مفيدة.

تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. نحن هنا لمساعدتك في كل خطوة في رحلتك ، لكي تصبح بجانب أسئلة مقابلة جافا هذه ، توصلنا إلى منهج مصمم للطلاب والمهنيين الذين يريدون أن يصبحوا مطور جافا.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات بمقال 'JIT in Java' وسنعاود الاتصال بك في أقرب وقت ممكن.

نوع بيانات تاريخ خادم SQL