الإعلانات

تعد Java Virtual Machine (JVM) قطارة اسم حقيقي عندما تقوم بالبرمجة في Java. على عكس ما يشير إليه الاسم ، يمكن مواجهة Java Virtual Machine فيما يتعلق بلغات البرمجة الأخرى أيضًا.

بشكل عام ، ليس من الضروري معرفة ماهية Java Virtual Machine ، أو حتى ما تفعله ، حتى تتمكن من البرمجة في Java. من ناحية أخرى ، يساعد التعرف على الإجراءات الداخلية للآلة على زيادة فهمك ورؤيتك بشكل عام.

تتناول هذه المقالة فكرة Java Virtual Machine ، وما تقدمه لك ، وبعض أهم الإيجابيات والسلبيات. على الرغم من أنني حاولت إبقاء الأمر بسيطًا ، وهناك بالتأكيد المزيد من الأدبيات المتقدمة حول هذا الموضوع ، فمن المتوقع أن يكون هناك فهم بدائي لجافا والبرمجة.

لغات عالية المستوى

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

قبل أن يتم تشغيله ، يجب أولاً تفسير التعليمات البرمجية عالية المستوى. يتم تجميع الكثير من واجهات البرمجة مقدمًا (

instagram viewer
تجميع AOT) لمنصة محددة. وهذا يجعل البرنامج أكثر كفاءة في وقت التشغيل ، ولكنه أقل توافقًا مع الأنظمة الأساسية المختلفة. في المقابل ، تعمل Java بلغة متوسطة تسمى Java bytecode و ال آلة جافا الافتراضية.

JVM و Java Bytecode

عندما يبني مشروع جافا الخاص بك ، فإنه يترجم شفرة المصدر (الواردة في *جافا ملفات المصدر) إلى Java bytecode (غالبًا ما يتم تضمينها في ملفات * .class). يؤدي ذلك إلى تقريب رمزك عالي المستوى خطوة واحدة إلى رمز الجهاز ، ولكن ليس تمامًا بعد. هذا الرمز الثانوي هو مجموعة من التعليمات المدمجة ؛ أسهل للآلة لتفسيرها ، ولكن أقل قراءة.

عندما تقوم بتشغيل تطبيق Java على جهاز الكمبيوتر الخاص بك أو الهاتف المحمول أو أي نظام أساسي آخر ممكّن لـ Java ، فأنت في الأساس تقوم بتمرير رمز Java هذا إلى Java Virtual Machine. عادة ما يبدأ المترجم في Java Virtual Machine في تجميع الرمز الفرعي بالكامل في وقت التشغيل ، باتباع مبادئ ما يسمى تجميع في الوقت المناسب. هذا يجعل التأخير النموذجي ، وإن كان طفيفًا في الغالب عند فتح تطبيق Java ، ولكنه يعزز أداء البرنامج بشكل عام مقارنةً به تجميع تفسير.

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

الميزة الرئيسية لهذا النظام هي زيادة التوافق. نظرًا لأن تطبيقاتك تعمل في جهاز افتراضي بدلاً من تشغيلها مباشرة على جهازك ، يمكن للمطور برمجة و بناء تطبيقهم مرة واحدة ، والذي يمكن بعد ذلك تنفيذه على كل جهاز مع تطبيق Java Virtual آلة. لقد ولّد هذا المبدأ شعار جافا: "اكتب مرة واحدة ، اركض في كل مكان.”

المؤيد: التوافق وزيادة الأمن

بصرف النظر عن توافق الشفرة ، تأتي Java Virtual Machine مع مزايا أخرى. واحدة من أهمها هي الأمان النسبي لبرامج Java نتيجة لـ Java Virtual Machine. الأمان ، مما يعني أن البرنامج الذي يعمل في جهاز ظاهري أقل احتمالية لتعطيل نظام تشغيل المستخدم ، أو تلف ملفات البيانات ، في حالة حدوث أخطاء.

السلبيات: تطبيقات JVM وتصحيح الأخطاء المختلفة

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

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

هل لديك أي خبرة في العمل مع Java Virtual Machine؟ إذا كان الأمر كذلك ، هل هناك أي شيء فاتني هنا يجب ذكره؟

حقوق الصورة: ميكايلاو, Dcoetzee

أنا كاتب وطالب علوم كمبيوتر من بلجيكا. يمكنك دائمًا تقديم خدمة لي من خلال فكرة مقالة جيدة أو توصية كتاب أو فكرة وصفات.