ما الذي يجب أن تعرفه عن Java Virtual Machine؟



ستغطي هذه المدونة مفهوم آلة جافا الافتراضية بالتفصيل مع مكونات بنيتها والاختلافات الرئيسية بين JVM و JRE و JDK

كانت اللغة عملاقة في صناعة تكنولوجيا المعلومات لفترة طويلة جدًا. لديها بعض المفاهيم من الدرجة الأولى التي تجعلها أفضل من بقية لغة البرمجة. أحد هذه المفاهيم هو آلة Java الافتراضية ، في هذه المقالة ، سنتعرف على الجوانب المختلفة لـ آلة افتراضية بالتفصيل. فيما يلي المواضيع التي تمت مناقشتها في هذه المدونة:

ما هو Java Virtual Machine؟

Java virtual machine هي آلة تجريدية مستقلة عن النظام الأساسي توفر بيئة تشغيل يتم فيها تنفيذ كود Java byte.





إنه جزء من بيئة وقت تشغيل Java الذي يحول Java bytecode إلى لغة يمكن للآلة قراءتها. الرئيسية الذي لدينا في برنامج Java يسمى فعليًا بواسطة جهاز Java الظاهري.

jvm - آلة افتراضية جافا - edureka

لماذا نحتاج إلى آلة جافا الافتراضية؟

نحتاج إلى آلة Java الافتراضية للمهام التي تؤديها والتي تعتبر ضرورية للغاية لأي تطوير يتضمن Java. فيما يلي بعض المهام التي يقوم بها جهاز Java الظاهري.



  • يقوم بتحميل الكود
  • التحقق من الرمز
  • تنفيذ الكود
  • يوفر بيئة وقت التشغيل للتطبيقات
  • منطقة الذاكرة
  • مجموعة التسجيل
  • يوفر كومة لجمع القمامة
  • التبليغ عن الأخطاء الفادحة
  • يوفر أ صف دراسي تنسيق الملف

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

Java Virtual Machine Architecture

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

كلاس لودر

إنه نظام فرعي يستخدم لتحميل ملفات الفئات. عندما نقوم بتشغيل برنامج في جافا ، يتم تحميله أولاً بواسطة ClassLoader. تتضمن الوظيفة الرئيسية التهيئة والربط والتحميل. فيما يلي برامج التحميل المدمجة في Java.



    • التمهيد ClassLoader - هي فئة فائقة من Extension ClassLoader التي تقوم بتحميل ملف rt.jar.

    • تمديد ClassLoader - يقوم بتحميل ملفات jar الموجودة في الدليل.

    • النظام / التطبيق ClassLoader - يقوم بتحميل classfiles من classpath.

    • عملية التحميل - أولاً ، يقوم classLoader بتحميل ملفات .class ويقوم بإنشاء البيانات المقابلة في التنسيق الثنائي الذي يتم حفظه في منطقة الأسلوب.

    • عملية الربط - بعد تحميله يستعد ويتحقق ويتخذ القرار. يخصص JVM الذاكرة لمتغيرات الفئة ويهيئ الذاكرة إلى القيم الافتراضية. إنه يضمن صحة ملف .class وعندما يفشل التحقق ، نحصل على خطأ استثناء وقت التشغيل.

      صب مزدوج ل كثافة العمليات في جافا
    • التهيئة - يتم تعيين جميع المتغيرات الثابتة بقيمها المحددة في كتلة التعليمات البرمجية في هذه المرحلة.

ذاكرة JVM

  • منطقة الطريقة - يقوم بتخزين الهياكل لكل فئة مثل الكود ، والبيانات الميدانية ، والتجمع الثابت لوقت التشغيل ، وبيانات الطريقة ، إلخ.

  • كومة - يتم تخصيص الكائنات في وقت التشغيل في الكومة.

  • مكدسات لغة JVM - يخزن المتغيرات والنتائج المحلية. إنها تلعب دورًا مهمًا في استدعاء النتائج وإرجاعها. عندما يتم استدعاء عملية ، يتم إنشاء إطار ويتم إتلافه بمجرد انتهاء الاستدعاء أو اكتماله.

  • تسجيلات الكمبيوتر - يحتوي على عنوان أو موقع تعليمات JVMinstruction التي يتم تنفيذها.

    خدمات تكامل خادم SQL ssis تعليمي خطوة بخطوة
  • مكدسات الطريقة الأصلية - جميع الطرق الأصلية المستخدمة في التطبيقات موجودة في مكدسات الطريقة الأصلية.

  • محرك التنفيذ - يحتوي محرك التنفيذ على معالج افتراضي ومترجم وملف جيت مترجم.

  • الطريقة الأصلية واجهه المستخدم - إنها الذي يوفر.

الآن بعد أن فهمنا بنية JVM ، دعنا نلقي نظرة على عملية التنفيذ وتجميع الكود.

عملية التنفيذ

تحدث الخطوات التالية أثناء تنفيذ وتجميع كود Java.

  • يتم تخزين الطريقة الرئيسية في ملف واحد ويتم تخزين الطرق الأخرى في ملفات مختلفة.
  • بعد التجميع ، سيوفر ملفات class المقابلة التي سيكون لها رمز البايت دون أي ارتباط ، على عكس C.
  • أثناء التنفيذ ، يتم التحقق من ملفات الفصل الدراسي بحثًا عن أي انتهاكات باستخدام أداة تحميل الفصل.
  • بعد ذلك ، يتم تحويل الرمز الثانوي إلى رمز الجهاز الأصلي المقابل. هذا أيضًا هو السبب في أن Java أبطأ نسبيًا.

الآن بعد أن عرفنا كيف يعمل التنفيذ ، دعنا نلقي نظرة على الفرق بين JDK و JRE و JVM.

الفرق بين JDK و JRE و JVM

فيما يلي بعض الاختلافات المهمة بين JDK و JVM و JRE.

  1. JDK تعني مجموعة تطوير Java ، و JRE تعني بيئة تشغيل Java.
  2. JDK للتطوير بينما JRE مخصص لبيئة وقت التشغيل.
  3. JVM هو جزء أساسي من JDK و JRE لتشغيل أي برنامج Java.
  4. تعد JVM جزءًا لا يتجزأ من برمجة Java وتوفر استقلالية النظام الأساسي.

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

إذا وجدت هذه المقالة حول 'Java Virtual Machine' ذات صلة ، فراجع Edureka ، شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرة في جميع أنحاء العالم.

نحن هنا لمساعدتك في كل خطوة في رحلتك والتوصل إلى منهج مصمم للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطور جافا. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

إذا صادفت أي أسئلة ، فلا تتردد في طرح جميع أسئلتك في قسم التعليقات في 'Java Virtual Machine' وسيسعد فريقنا بالإجابة.