ما المقصود بـ Java Runtime Environment؟

إن بيئة Java Runtime Environment (JRE) عبارة عن أداة برمجية تتطلبها برامج Java لتعمل بطريقة صحيحة. Java هي لغة كمبيوتر تدعم العديد من تطبيقات الويب وتطبيقات الأجهزة المحمولة الحالية. وتُعد JRE هي التقنية الأساسية للتواصل بين برنامج Java ونظام التشغيل. وهي بمثابة المترجم والميسّر، حيث توفر جميع الموارد وبالتالي بمجرد أن تكتب برنامج Java، فإنه يعمل على أي نظام تشغيل بدون أي تعديلات أخرى.

ما سبب أهمية JRE؟

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

 

وفي الواقع، تُعد JRE أحد المكونات الأساسية الثلاثة لنظام Java المطلوبة لنجاح تشغيل أي برنامج Java. والمكونان الآخران هما Java Development Kit (JDK) وJava Virtual Machine (JVM).

Java Development Kit

JDK هي مجموعة أدوات برمجية يمكنك استخدامها في تطوير تطبيقات Java. يمكنك إعداد JDK في بيئة التطوير لديك من خلال تنزيلها وتثبيتها. حدد إصدار برنامج JDK يتطابق مع إصدار Java الذي تريد استخدامه. على سبيل المثال، يتطلب إصدار Java Standard Edition أو Java SE وجود الإصدار Java SE JDK.

Java Virtual Machine

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

دور JRE في لغة برمجة Java

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

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

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

ما كيفية عمل JRE؟

تعمل Java Runtime Environment (JRE) أعلى نظام التشغيل، ما يوفر موارد إضافية خاصة بـ Java. يتفاعل Java Development Kit (JDK) وJRE لتكوين بيئة تشغيل مستدامة تقوم بتشغيل ملفات برنامج Java على أي جهاز. تستخدم JRE ثلاثة مكونات أساسية للعمل.

ClassLoader

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

مدقق البايت كود

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

المترجم

بعد تحميل البايت كود بنجاح، يقوم مترجم Java بإنشاء مثيل JVM الذي يتولى تشغيل برنامج Java على الجهاز الأساسي.

ما مكونات JRE؟

بخلاف المكونات الأساسية، تحتوي Java Runtime Environment (JRE) على العديد من المكونات البرمجية الأخرى التي تساعد في تشغيل برامج Java بكفاءة أعلى. وفيما يلي بعض الأمثلة:

أدوات التطوير

تتضمن JRE أدوات تطوير مثل مجموعات أدوات واجهة المستخدم التي تستخدمها في تحسين جودة تطبيقاتك. وفيما يلي بعض الأمثلة:

Java 2D

Java 2D هي واجهة برمجة تطبيقات (API) يمكنك استخدامها في عمل رسومات ثنائية الأبعاد وإنشاء واجهات مستخدم وألعاب ورسوم متحركة غنية وعمل مؤثرات خاصة بلغة Java.

Swing

Swing هي واجهة مستخدم رسومية خفيفة الوزن توفر تخصيصات مرنة وسهلة الاستخدام.

Abstract Window Toolkit

مجموعة أدوات Abstract Window Toolkit (AWT) عبارة عن واجهة مستخدم رسومية (GUI) يمكنك استخدامها في إنشاء كائنات واجهة المستخدم، مثل الأزرار والنوافذ وأشرطة التمرير.

حلول النشر

تتضمن JRE تقنيات تسهِّل عملية نشر تغييرات البرامج على مستخدمي التطبيق. وتوفر هذه التقنيات أيضًا دعمًا متقدمًا للتحديثات التي تتم في التطبيق. يتم تضمين تقنيات النشر مثل Java Web Start وJava plugin كجزء من عملية تثبيت JRE. وتعمل هذه التقنيات على تبسيط عملية تنشيط التطبيقات وتوفر أيضًا دعمًا متقدمًا للتحديثات المستقبلية التي تتم في JRE. وفيما يلي بعض الأمثلة:

Java Web Start

باستخدام Java Web Start، وبنقرة واحدة من مستعرض الويب، يمكنك تشغيل تطبيقات بميزات كاملة.

مكوّن Java الإضافي

ينشئ مكون Java الإضافي اتصالاً بين المتصفحات الشائعة ومنصة Java، ما يسمح لك بتشغيل تطبيقات موقعك الإلكتروني الصغيرة داخل متصفح سطح المكتب.

مكتبات اللغات والأدوات المساعدة

تُسمى مجموعة ملفات فئة Java بحزمة Java. تتضمن JRE العديد من حزم Java التي تدعم الإصدار والإدارة والمراقبة. والحزم التالية هي أمثلة على ذلك:

إطار عمل المجموعات

إطار عمل المجموعات هو هيكل موحد يضم واجهات لتحسين تخزين ومعالجة بيانات التطبيق.

تفضيلات واجهة برمجة التطبيقات

تتيح تفضيلات واجهة برمجة التطبيقات لعدة مستخدمين إمكانية تحديد مجموعة تفضيلات التطبيق الخاصة بهم على نفس الجهاز.

التسجيل

تقدِّم حزم التسجيل تقارير سجل لاستكشاف الأخطاء وإصلاحها، على سبيل المثال حالات فشل الأمان ومشكلات الأداء وأخطاء التكوين.

Java Archive

Java Archive (JAR) هو تنسيق ملف مستقل المنصة يتيح إمكانية تجميع ملفات متعددة لتقليل أحجام ملفات التطبيق وتحسين سرعة التنزيل تحسنًا كبيرًا.

مكتبات التكامل

تضم JRE العديد من مكتبات التكامل التي تساعد المطورين في إنشاء اتصالات بيانات سلسة بين خدماتهم وتطبيقاتهم. فيما يلي بعض الأمثلة على المكتبات:

لغة تعريف واجهة Java

تدعم لغة تعريف واجهة Java، القائمة على أسلوب البناء الوسيطي لطلب الأغراض العامة (CORBA)، كائنات البيانات الموزعة؛ وهي كائنات تتفاعل على منصات مختلفة عبر الشبكة. على سبيل المثال، تتيح لغة تعريف واجهة Java للكائنات المكتوبة بلغة Java إمكانية التفاعل مع تلك المكتوبة بلغة أخرى مثل C، أو C++، أو COBOL.

Java Database Connectivity

يستخدم المطورون واجهة برمجة التطبيقات Java Database Connectivity (JDBC) في كتابة التطبيقات التي يمكنها الوصول إلى قواعد البيانات وجداول البيانات والملفات البعيدة.

Java Naming and Directory Interface

Java Naming and Directory Interface (JNDI) هي خدمة دليل تتيح للعملاء إنشاء تطبيقات محمولة تأتي بالمعلومات من قواعد البيانات الخارجية باستخدام قواعد التسمية.

ما المقصود بـ AWS SDK for Java؟

تقوم AWS Software Development Kit (SDK) for Java بتبسيط استخدام خدمات AWS من خلال توفير مجموعة من المكتبات المتسقة والمألوفة لمطوري Java. وهي تدعم طبقات مجردة ذات مستوى أعلى للحصول على تجربة تطوير مبسطة. تتوفر مكتبات Java مفتوحة المصدر المركزة على AWS إلى جانب تعليمات برمجية نموذجية ودليل مرجعي لـ Java API.

 

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

 

ابدأ استخدام AWS SDK for Java عن طريق دليل مطور AWS SDK for Java أو تفضل بزيارة مركز مطوري AWS Java.                                       

الخطوات التالية على AWS