ما هي مكونات Java Architecture؟

تجمع Java Architecture بين عملية الترجمة والتفسير. في هذه المقالة ، سوف أخبرك عن المكونات المختلفة لهندسة جافا

تجمع Java Architecture بين عملية الترجمة والتفسير. يشرح العمليات المختلفة المتضمنة أثناء صياغة ملف . قبل أن أبدأ بالموضوع ، اسمحوا لي أن أقدم لكم جدول أعمال هذه المقالة.

المؤشرات المذكورة أدناه ستكون موضوعات المناقشة لدينا:





دعونا نبدأ بفهم ما هو بالضبط Java Architecture؟



ما هي بنية جافا؟

هنا ، سأشرح لك بنية جافا بخطوات بسيطة.

  • في جافا ، هناك عملية تجميع وتفسير.
  • الكود المكتوب ، إلى أكواد بايت يتم إجراؤها بواسطة Java Compiler.
  • ثم يتم تحويل رموز البايت إلى رمز آلة بواسطة JVM.
  • يتم تنفيذ رمز الجهاز مباشرة بواسطة الجهاز.

يوضح هذا الرسم البياني العمل الداخلي لكود Java ، أو على وجه التحديد ، Java Architecture!



JVM - Java Architecture - Edurekaالآن ، دعونا نتعمق أكثر في هندسة جافا ونتحدث عن مختلف .

مكونات بنية جافا

هناك ثلاثة مكونات رئيسية للغة Java: JVM و JRE و JDK .

Java Virtual Machine و Java Runtime Environment و Java Development Kit على التوالي.

اسمحوا لي أن أوضح كل واحد منهم واحدًا تلو الآخر:

آلة جافا الافتراضية:

هل سمعت عن WORA؟ (اكتب مرة واحدة Run Anywhere). حسنًا ، تسمى تطبيقات Java WORA نظرًا لقدرتها على تشغيل رمز على أي نظام أساسي. يتم ذلك فقط بسبب JVM. JVM هو أحد مكونات نظام Java الأساسي الذي يوفر بيئة لتنفيذ برامج Java. يفسر JVM الرمز الثانوي إلى رمز الجهاز الذي يتم تنفيذه في الجهاز الذي يعمل فيه برنامج Java.

لذلك ، باختصار ، تؤدي JVM الوظائف التالية:

  • يقوم بتحميل الكود
  • يتحقق من الرمز
  • ينفذ الكود
  • يوفر بيئة وقت التشغيل

الآن ، اسمحوا لي أن أريكم هندسة JVM. هنا يذهب!

تفسير:

فئة محمل : Class loader هو نظام فرعي لـ JVM. يتم استخدامه لتحميل ملفات الفصل. عندما نقوم بتشغيل برنامج جافا ، يقوم محمل الفئة بتحميله أولاً.

منطقة طريقة الفصل : هي إحدى مناطق البيانات في JVM ، حيث سيتم تخزين بيانات الفصل. يتم تخزين المتغيرات الثابتة ، والكتل الثابتة ، والطرق الثابتة ، وطرق المثيل في هذه المنطقة.

كومة : يتم إنشاء كومة عند بدء تشغيل JVM. قد يزيد أو ينقص في الحجم أثناء تشغيل التطبيق.

كومة : يُعرف مكدس JVM باسم مكدس الخيوط. إنها منطقة بيانات في ذاكرة JVM يتم إنشاؤها لسلسلة تنفيذ واحدة. يتم استخدام مكدس JVM من الخيط بواسطة الخيط لتخزين العناصر المختلفة ، مثل المتغيرات المحلية والنتائج الجزئية وبيانات لطريقة الاستدعاء والإرجاع.

المكدس الأصلي : يشمل جميع الأساليب الأصلية المستخدمة في تطبيقك.

محرك التنفيذ:

  • مترجم JIT
  • جامع القمامة

مترجم JIT: ال مترجم Just-In-Time (JIT) جزء من بيئة وقت التشغيل. يساعد في تحسين أداء تطبيقات Java عن طريق تجميع الرموز الثانوية إلى كود الجهاز في وقت التشغيل. يتم تمكين مترجم JIT افتراضيًا. عندما يتم تجميع طريقة ما ، فإن JVM تستدعي الكود المترجم لتلك الطريقة مباشرة. المترجم JIT يجمع الرمز الثانوي لتلك الطريقة في كود الآلة ، ويجمعها 'في الوقت المناسب' للتشغيل.

جامع القمامة: كما يوضح الاسم ذلك جامع القمامة يعني جمع المواد غير المستخدمة. حسنًا ، في JVM يتم هذا العمل عن طريق جمع القمامة. يتتبع كل كائن متوفر في مساحة كومة JVM ويزيل الأشياء غير المرغوب فيها.
يعمل جامع القمامة في خطوتين بسيطتين تعرفان باسم Mark and Sweep:

  • علامة - هو المكان الذي يحدد جامع القمامة أي جزء من الذاكرة قيد الاستخدام وأيها غير مستخدم
  • المسح - يزيل العناصر التي تم تحديدها أثناء مرحلة 'العلامة'.

بيئة جافا وقت التشغيل:

يبني برنامج JRE بيئة وقت تشغيل يمكن من خلالها تنفيذ برامج Java. JRE هو النظام الموجود على القرص الذي يأخذ كود Java الخاص بك ، ويجمعه مع المكتبات المطلوبة ، ويبدأ JVM لتنفيذه. يحتوي JRE على مكتبات وبرامج تحتاجها برامج Java لتشغيلها. JRE هو جزء من JDK (سنقوم بدراسته لاحقًا) ولكن يمكن تنزيله بشكل منفصل.

أدوات تطوير جافا:

Java Development Kit (JDK) هي بيئة تطوير برمجيات تُستخدم لتطوير تطبيقات وتطبيقات Java. يحتوي على JRE والعديد من أدوات التطوير ، مترجم / مُحمل (جافا) ، مترجم (جافاك) ، أرشيف (جرة) ، مولد توثيق (جافادوك) مصحوبًا بأداة أخرى.

المنطقة الزرقاء الموضحة في الرسم التخطيطي هي JDK. الآن ، اسمحوا لي أن أوضح أدوات التطوير لكم جميعًا.

جافا : هو المشغل لجميع تطبيقات جافا.
جافاك : مترجم للغات برمجة جافا.
جافادوك : هو منشئ وثائق API.
إناء : إنشاء وإدارة جميع ملفات JAR.

المضي قدمًا في بنية Java ، دعنا نفهم كيف تكون منصة Java مستقلة؟

كيف تكون منصة جافا مستقلة؟

متى تسمى أي لغة برمجة بأنها مستقلة عن النظام الأساسي؟ حسنًا ، إذا وفقط إذا كان يمكن تشغيله على جميع أنظمة التشغيل المتاحة فيما يتعلق بتطويرها وتجميعها.
الآن، جافا مستقل عن النظام الأساسي فقط بسبب الرمز الثانوي. دعني أخبرك ما هو الرمز الثانوي بالضبط؟ بعبارات بسيطة ،
Bytecode هو رمز لـ JVM وهو مفهوم للآلة.
يثبت تنفيذ Bytecode في Java أنها لغة مستقلة عن النظام الأساسي.
هنا ، سأريك الخطوات المتضمنة في عملية تنفيذ java bytecode.

فيما يلي شرح للخطوات المتبعة:

sample.java → javac (فئة العينة) → JVM (sample.obj) → الإخراج النهائي

يتم استخدام الكود المصدري الأول بواسطة مترجم جافا ويتم تحويله إلى ملف فئة. رمز ملف الفئة هو في شكل كود بايت ويتم استخدام ملف الفئة هذا بواسطة JVM للتحويل إلى ملف كائن. بعد ذلك ، يمكنك رؤية الإخراج النهائي على شاشتك.

ضعف كثافة العمليات في جافا

المضي قدمًا في مقالة بنية Java ، دعنا نفهم مفهوم JIT in Java .

JIT in Java

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

مترجم JIT - هندسة جافا - Edureka

المترجم JIT يجمع كود بايت الأسلوب في كود الآلة ، ويجمعها 'Just In Time' للتشغيل. عندما يتم تجميع طريقة ما ، فإن JVM يستدعي الكود المترجم لتلك الطريقة مباشرة.
دعونا نتعمق أكثر:
يجب تفسير رمز البايت أو تجميعه وفقًا لتعليمات الجهاز المناسبة اعتمادًا على مجموعة التعليمات المقدمة. أيضًا ، يمكن تنفيذها مباشرة إذا كانت بنية التعليمات تعتمد على رمز البايت. يؤثر تفسير كود البايت على سرعة التنفيذ.
من أجل تحسين الأداء ، يتفاعل مترجمي JIT مع Java Virtual Machine (JVM) في وقت التشغيل ويقومون بتجميع تسلسلات الرمز الثانوي المناسبة في رمز الجهاز الأصلي (كما هو موضح في الرسم التخطيطي). أثناء استخدام مترجم JIT ، يكون الجهاز قادرًا على تنفيذ الكود الأصلي ، مقارنةً بجعل JVM يفسر نفس تسلسل الرمز الثانوي بشكل متكرر ويتكبد نفقات إضافية لعملية الترجمة.

بهذا ، وصلت إلى نهاية هذه المقالة حول Java Architecture. آمل أن تضيف الموضوعات التي تمت مناقشتها أعلاه قيمة لمعرفتك بجافا. ترقبوا المزيد من المقالات!

الآن بعد أن فهمت أساسيات Java ، تحقق من ملف من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

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