تُعد Java واحدة من لغات البرمجة الأكثر شهرة والتي تُستخدم في بيئات التطوير اليوم. وهي تُستخدم بشكل أساسي في مشاريع تطوير الواجهات الخلفية وتطوير الألعاب وحوسبة سطح المكتب والأجهزة المحمولة. تابع القراءة واكتشف كيف يؤدي كلٌّ من آلة جافا الافتراضية (JVM)، وبيئة تشغيل جافا (JRE)، ومجموعة تطوير جافا (JDK) دورًا في عملية تطوير Java. ستتعرف أيضًا على علاقتهم ببعضهم وأوجه الاختلاف التي تُميّزهم.
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دومًا بأهم—اتجاهات المجال وأكثرها إثارة للفضول—بشأن الذكاء الاصطناعي والأتمتة والبيانات وغيرها الكثير مع نشرة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.
آلة جافا الافتراضية، أو JVM، تعمل على تحميل البايت كود لجافا والتحقق منه وتشغيله. تُعرف باسم المترجم أو جوهر لغة البرمجة جافا لأنها تدير البرمجة بلغة جافا.
آلة جافا الافتراضية مسؤولة عن تحويل البايت كود إلى كود خاص بالآلة وهي ضرورية في كل من JDK وJRE. كما أنها قائمة على منصة وتؤدي العديد من الوظائف، بما في ذلك إدارة الذاكرة والأمان. بالإضافة إلى ذلك، يمكن لآلة جافا الافتراضية تشغيل البرامج المكتوبة بلغات برمجة أخرى والمحولة إلى البايت كود لجافا.
غالبًا ما يشار إلى واجهة جافا الأصلية (JNI) في سياق الحديث عن صلتها بآلة جافا الافتراضية. واجهة جافا الأصلية هي إطار عمل برمجي يُمكّن كود جافا الذي يعمل في آلة جافا الافتراضية من التواصل مع (أي أن يستدعي ويُستدعى) التطبيقات المرتبطة بجهاز من الأجهزة ومنصة نظام تشغيل محددة. تسمى هذه التطبيقات التطبيقات الأصلية ويمكن كتابتها غالبًا بلغات أخرى. تُستخدم الطرق الأصلية لنقل التعليمات البرمجية الأصلية المكتوبة بلغات أخرى إلى تطبيقات جافا.
تتكون آلة جافا الافتراضية من ثلاثة عناصر رئيسية أو أنظمة فرعية:
بيئة تشغيل جافا، أو JRE، هي مجموعة من الأدوات البرمجية المسؤولة عن تنفيذ برنامج أو تطبيق جافا على نظامك.
تستخدم بيئة تشغيل جافا مساحة الكومة لتخصيص الذاكرة الديناميكي لكائنات جافا. تُستخدم بيئة تشغيل جافا أيضًا في JDB (تصحيح أخطاء جافا).
إذا كان المبرمج يرغب في تشغيل برنامج جافا باستخدام أمر جافا، فيجب عليه تثبيت بيئة تشغيل جافا. إذا كان يريد تثبيته فقط (وليس تطوير الكود أو تحويله برمجيًا)، فستكون هناك حاجة إلى بيئة تشغيل جافا فقط.
إلى جانب آلة جافا الافتراضية، تتكون بيئة تشغيل جافا من العديد من أدوات ومزايا البرامج الداعمة الأخرى لتحقيق أقصى استفادة من تطبيقات جافا لديك.
مجموعة تطوير جافا، أو JDK، هي مجموعة تطوير برمجيات تمثل مجموعة شاملة في بيئة تشغيل جافا. وتُعد العنصر الأساسي الذي يتيح تطوير تطبيقات جافا وتطبيقات جافا المصغرة. وهي خاصة بالمنصات، لذلك هناك حاجة إلى مثبتات منفصلة لكل نظام تشغيل (على سبيل المثال، Mac وUnix وWindows).
تحتوي مجموعة تطوير جافا على جميع الأدوات المطلوبة لإجراء تحويل برمجي للبرامج المطورة باستخدام منصة جافا وتصحيح أخطائها وتشغيلها. (تجدر الإشارة إلى أنه يمكن أيضًا تشغيل برامج جافا باستخدام سطر الأوامر).
تتضمن مجموعة تطوير جافا جميع أدوات جافا والملفات التنفيذية والثنائية اللازمة لتشغيل برامج جافا. يتضمن ذلك بيئة تشغيل جافا، والمحول البرمجي، ومصحح الأخطاء، والأرشيف، والأدوات الأخرى المستخدمة في عملية تطوير جافا.
مصطلح جافا مرادف لإصدار جافا القياسي (Java SE) أو جافا الأساسي. تشير المصطلحات الثلاثة إلى مواصفات جافا الأساسية التي تتضمن عملية تحديد الأنواع والكائنات. من ناحية أخرى، توفر Java EE واجهات برمجة تطبيقات وتُستخدم عادةً لتشغيل تطبيقات أكبر. يركز محتوى هذه المدونة على Java SE.
دعونا أولاً نلقِ نظرة على كيفية عمل العناصر الأساسية الثلاثة لجافا معًا، وبعد ذلك يمكننا تناول أوجه الاختلاف بينها. يوفر المخطط التالي صورة لكيفية توافق JVM وJRE وJDK معًا في بيئة جافا.
إذا تخيلت كرة البيسبول مفتوحة، فستجد أنها تحتوي على ثلاثة عناصر رئيسية: القلب المبطن المستدير، والجزء الأوسط من الصوف والقطن، والجزء الخارجي من جلد البقر. فالكرة من دون هذه الطبقات الثلاث لن تؤدي وظيفتها المنشودة. تمامًا مثل الأجزاء الأساسية الثلاثة لكرة البيسبول، فإن JVM وJRE وJDK جميعها لها وظائف محددة. ومن دون الثلاثة، لن تعمل جافا بنجاح.
في الفيديو التالي، يشرح Jamil Spain كيفية ارتباط JRE وJDK:
والآن، بالنسبة إلى أوجه الاختلاف:
توجد العديد من التقنيات التكميلية التي يمكن استخدامها لتحسين JVM أو JRE أو JDK. ومن بين التقنيات الأكثر استخدامًا ما يلي:
تُستخدم آلة جافا الافتراضية (JVM) لإنشاء—كما هو واضح من اسمها—الأجهزة الافتراضية (VMs). الأجهزة الافتراضية هي خوادم تسمح بتشغيل تطبيقات متعددة على الأجهزة المادية نفسها من دون التأثير في بعضها. وهذا يوفر استخدامًا أفضل للموارد ويجعل توسيع نطاقها أسهل بكثير وأقل تكلفة من البنية التحتية التقليدية. يمكن أيضًا التخلص من الأجهزة الافتراضية بسهولة بسبب استقلاليتها. عندما لم تعد بحاجة إلى التطبيق، يمكنك ببساطة تعطيل الجهاز الافتراضي.
ترتقي الحاويات بهذا التجريد وتعمل على إضفاء طابع افتراضي على نواة نظام التشغيل. يؤدي غياب نظام التشغيل إلى جعل الحاويات أكثر خفة وسرعة ومرونة من الأجهزة الافتراضية.
بالنسبة إلى العديد من المؤسسات، تظل جافا جزءًا حيويًا من عملية تطوير التطبيقات وتوفر أساسًا متينًا عند إنشاء حلول قابلة للنقل وللتوسع. ويمكنها أيضًا أداء دور رئيسي في عملية تحديث التطبيقات في رحلتها إلى السحابة.
اتخذ الخطوة التالية من خلال استكشاف حل OpenJDK وIBM Runtimes for Business، والذي يوفر دعمًا تجاريًا جديرًا بالثقة وميسور التكلفة لتنفيذ تطبيقات جافا ومراقبتها وإدارتها.
خدمة مُدارة بالكامل ومستأجر واحد لتطوير تطبيقات Java وتسليمها.
استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.
إن تطوير تطبيقات السحابة يعني البناء مرة واحدة، والتكرار بسرعة، والنشر في أي مكان.