ما هي آلة جافا الافتراضية؟ شرح آلة جافا الافتراضية

تعمل آلة Java الافتراضية على تشغيل كود بايت Java على أي نظام تشغيل. ولهذا السبب يعمل إصدار Java من Minecraft وجميع تعديلات Fabric بنفس الطريقة على نظامي Windows و macOS و Linux.

Conceptsby trqUpdated June 4, 2026
Key takeaways
  • الآلة الافتراضية لغة جافا (JVM) هي البرنامج الذي يشغل كود بايت جافا المترجم.
  • نفس كود البايت يعمل على ويندوز وماك أو إس ولينكس، لذا لا تحتاج التعديلات إلى إعادة تجميع.
  • يحتاج اللاعبون إلى بيئة تشغيل جافا (JRE)؛ يحتاج المطورون إلى حزمة تطوير جافا الكاملة (JDK) مع المترجم.
  • إصدار Minecraft بلغة جافا وجميع تعديلات Fabric، بما في ذلك Opal، تعمل على الآلة الافتراضية لغة جافا.

تُشغِّل الآلة الافتراضية لـ Java، أو JVM، كود Java. أنت تكتب Java، ويحوّلها مُترجم إلى كود بايت، وتشغّل الآلة الافتراضية لـ Java هذا الكود البايت على أي نظام تشغيل. ولهذا السبب يتصرف إصدار Java من Minecraft والتعديلات المبنية عليه بنفس الطريقة على Windows و macOS و Linux دون الحاجة إلى إعادة الترجمة.

أين Opal يناسب

Opal هو تعديل Fabric، لذا فهو يعمل على نفس جهاز JVM الخاص باللعبة. إذا كنت تقوم بإعداده، فإن دليل الإعداد يمرّ بك خلاله

ما الذي تفعله JVM فعليًا

تُشغِّل JVM الـ bytecode، وليس الكود المصدري. عندما تقوم بتجميع برنامج Java، لا تحصل على ملف تنفيذي لنظام Windows أو Mac. بل تحصل على ملفات فئات مليئة بالـ bytecode، وهي مجموعة تعليمات مضغوطة تفهمها JVM. تقرأ JVM هذه التعليمات وتنفذها على جهازك.

هذه الطبقة الإضافية هي الهدف. نفس الـ bytecode يعمل في أي مكان توجد فيه JVM، لذا فإن عبارة "اكتب مرة واحدة، وشغّل في أي مكان" هي النسخة المختصرة من سبب انتشار Java على نطاق واسع. JVM هي الجزء الذي يجعل هذه الوعد حقيقة.

JVM و JRE و JDK

غالبًا ما تُمزج هذه المصطلحات الثلاثة، لذا إليك التوضيح.

المصطلحما هومتى تحتاجه
JVMالمحرك الذي يشغّل الـ bytecodeدائمًا، لتشغيل أي برنامج Java
JREJVM بالإضافة إلى المكتبات القياسيةلتشغيل برامج Java
JDKJRE بالإضافة إلى المترجم وأدوات التطويرلبناء برامج Java

يحتاج اللاعب فقط إلى وقت التشغيل لتشغيل اللعبة. يحتاج المطور الذي يبني تعديلًا إلى JDK الكامل حتى يتمكن من تجميع Java إلى bytecode في المقام الأول.

كيف تشغّل JVM التعليمات البرمجية الخاصة بك بسرعة

تبدأ JVM عن طريق تفسير الـ bytecode تعليمات واحدة تلو الأخرى. أثناء التشغيل، تراقب الطرق التي يتم استدعاؤها بشكل متكرر. يتم تمرير هذه المسارات الساخنة إلى مُجمِّع JIT، الذي يحولها إلى كود آلة أصلي في الوقت الفعلي. بعد فترة الإحماء، تعمل أكثر التعليمات البرمجية ازدحامًا بسرعة تقارب السرعة الأصلية.

تُدير JVM الذاكرة نيابةً عنك أيضًا. يقوم جامع القمامة باستعادة الكائنات التي توقفت عن استخدامها، لذلك لا تحتاج إلى تحرير الذاكرة يدويًا كما تفعل في لغة C. هذا أحد الأسباب التي تجعل كتابة Java سهلة ومسامحة، وهي لغة أولى شائعة للمعدّلين.

لماذا يهم هذا في Minecraft

تعمل نسخة Java من Minecraft على JVM، وكذلك كل عميل مساعد وكل تعديل يستهدفها. يمكن أن يكون الكود الخاص بالعميل بلغة Java أو Kotlin أو أي لغة JVM أخرى، لأنها جميعًا تُترجم إلى نفس التعليمات البرمجية التي تُشغلها JVM. يتم شحن تعديل Fabric على شكل ملف jar يحتوي على التعليمات البرمجية، ويقوم المحمل بتوصيله باللعبة عند التشغيل، وتشغل JVM كل شيء كعملية واحدة.

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

الأسئلة الشائعة