# جافا (منصة برمجية)

منصة جافا (بالإنجليزية: java platform)‏ هي عدد من البرامج والمواصفات من قبل شركة صن مايكروسيستمز والتي تشكل مع بعضها نظامًا لتطوير ونشر برامج تطبيقية تعمل في بيئة متعددة المنصات (cross-platform). تستخدم جافا بكثرة على أنواع كثيرة من منصات الحاسوب بداية من النظم المضمنة إلى أجهزة الهاتف المحمول إلى الخادمات العملاقة وأجهزة الحواسيب الفائقة (Super Computer) تنتشر جافا بصورة كبيرة في الهواتف المحمولة وخادمات الويب والأنظمة المتكاملة وتكون أقل انتشارا في الحواسب المكتبية. تستخدم بريمجات جافا للويب لتحسين الأداء وزيادة الوظائف

## المنصة

طبعة من منصة جافا هو اسم لمجموعة من البرامج ذات الصلة من صن التي تسمح بتطويرو تشغيل البرامج المكتوبة بلغة جافا.منصة ليست محددة على أي معالج واحد أو نظام التشغيل، بل هو محرك تنفيذ (يسمى الجهاز الظاهري) ومترجم مع مجموعة من المكتبات التي يتم تنفيذها لمختلف أنظمة التشغيل الأجهزة وذلك أن برامج جافا يمكن تشغيلها بشكل مماثل على كل منهم.
* بطاقة جافا: التكنولوجيا التي تسمح للتطبيقات الصغيرة القائمة على جافا (الصغير ق) ليتم تشغيلها بشكل آمن على البطاقة الذكية ق وأجهزة ذاكرة صغيرة مماثلة
.* جافا ME (مايكرو الطبعة): تحديد عدة مجموعات مختلفة من المكتبات المعروفة باسم (ملامح) لأجهزة مع تخزين محدود، والعرض، وقدرات القوة غالبا ما تستخدم لتطوير التطبيقات للهواتف النقالة والمساعدات الرقمية الشخصية، TV قمة مجموعة صناديق، والطابعات.
* جافا SE (الإصدار القياسي): للاستخدام لأغراض عامة في أجهزة الكمبيوتر المكتبية والخوادم والأجهزة المماثلة.
* جافا EE (الإصدار المؤسس): جاوة SE بالإضافة إلى واجهات برمجة التطبيقات المختلفة مفيدةمتعدد المستويات خادم عميل تطبيق المشاريع ق.
تتكون منصة جافا من العديد من البرامج، كل منها يوفر جزء من قدراتها الشاملة. على سبيل المثال، يتم توفير مترجم جافا، والذي يحول شفرة المصدر جافا بايت كود جافا في (لغة وسيطة للJVM)، كجزء من عدة تطوير جافا. في جافا وقت التشغيل البيئة (JRE)، استكمالا للJVM مع فقط في الوقت (JIT) مترجم، يحول بايت كود الوسيطة إلى رمز الجهاز الأصلي على الطاير. مجموعة واسعة من المكتبات هي أيضا جزء من منصة جافا.
المكونات الأساسية في المنصة هي مترجم لغة جافا، والمكتبات، وبيئة التشغيل التي جافا بايت كود وسيطة «تنفذ» وفقا للقواعد المنصوص عليها في مواصفات الجهاز الظاهري المخصص.

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

إن أساس منصة جافا هو مفهوم «الآلة افتراضية» الذي ينفذ بايت كود برامج الجافا. هذا البايت كود هو نفسه بغض النظر عن نوع الأجهزة أو نظام التشغيل الذي يعمل البرنامج ضمنه. هناك JIT (فقط في الوقت المناسب) المترجم ضمن آلة جافا الافتراضية، أو JVM. المترجم JIT يترجم بايت كود جافا في تعليمات المعالج الأم في وقت التشغيل ويخزن التعليمات البرمجية الأصلية في الذاكرة أثناء التنفيذ. إن استخدام بايت كود كلغة وسيطة يسمح لبرامج جافا بالعمل على أي منصة يحتوي على آلة افتراضية متوفرة. إن استخدام مترجم JIT يعني أن تطبيقات جافا، وبعد مهلة قصيرة أثناء التحميل وبعد أن يكونوا قد «استعدوا» من خلال كونها كلها أو معظمها ترجمة JIT ، تميل إلى التشغيل بسرعة مماثلة لسرعة البرامج الأصلية
منذ JRE الإصدار 1.2، شمل تنفيذ صن JVM على التحويل البرمجي فقط في الوقت المناسب بدلا من مترجم. على الرغم من أن برامج جافا هي عبر-منصة أو منصة مستقلة، كود آلات جافا الافتراضية (JVM) التي تنفذ هذه البرامج ليست كذلك. كل منصة تشغيل معتمدة لديها JVM الخاص بها.

### مكتبات الصفوف

مكتبة جافا الرئيسية موجودة في معظم نظام التشغيل (OSS) الحديثة، تقدم مجموعة كبيرة من التعليمات البرمجية القابلة لإعادة الاستخدام لتبسيط المهمة للمبرمجين. عادة يتم توفير هذه التعليمة البرمجية على أنها مجموعة من حيوي المكتبات loadable يمكن استدعاء هذه التطبيقات في وقت التشغيل لأن منصة جافالا تعتمد على نظام تشغيل محدد، التطبيقات لا تعتمد على أي من المكتبات الموجودة من قبل OS . بدلا من ذلك، توفر منصة جافا مجموعة شاملة من المكتبات القياسية الخاصة بها التي تحتوي على الكثير من الوظائف القابلة لإعادة الاستخدام والتي هي شائعة في أنظمة التشغيل الحديثة. معظم مكتبة النظام مكتوبة أيضا في جافا. على سبيل المثال، سوينغ مكتبة ترسم واجهة المستخدم وتتعامل مع الأحداث نفسها، والقضاء على العديد من الاختلافات الدقيقة بين كيفية التعامل مع منصات مختلفة المكونات وحتى المتماثلة أيضا. مكتبات فئة Java تخدم ثلاثة أغراض ضمن منصة جافا. أولا: هي مثل غيرها من المكتبات البرمجية القياسية وتوفر للمبرمج مجموعة من الوظائف المعروفة لأداء المهام الشائعة، مثل الحفاظ على قوائم الأصناف أو أداء تحليل سلسلة معقدة. ثانيا: توفر واجهة مجردة إلى المهام التي من شأنها أن تعتمداعتمادا كبيرا على نظام الأجهزة والتشغيل. المهام مثل الوصول إلى الشبكة والوصول إلى الملفات التي غالبا ما تتشابك بشكل كبير مع تطبيقات مميزة من كل منصة. <The java.net و java.io تقوم المكتبات بتنفيذ طبقة التجريد في رمز نظام التشغيل الأصلي، ثم توفير واجهة موحدة لتطبيقات جافا لأداء تلك المهام. وأخيرا: عندما كانت بعض المنصة الكامنة لا تدعم كافة الميزات يتوقع ذلك تطبيق جافا، وهناك مكتبات فئة تعمل لمعالجة المكونات المفقودة بأمان، إما عن طريق مضاهاتها لتوفير البديل، أو على الأقل من خلال توفير وسيلة منسقة للتحقق من وجود ميزة معينة.

### اللغات

إن كلمة جافا وحدها عادة ماتشير إلى لفة البرمجة جافا التي تم تصميمها للاستخدام مع منصة جافا، ولغات البرمجة عادة تكون خارج نطاق عبارة «منصة», على الرغم من أن لغة البرمجة جافا سردت كجزء أساسي من منصة جافا قبل جافا7 .الا انه كانت تعتبر لغة البرمجة ووقت التشغيل شيئاً واحداً.
مع ذلك فان معايير جافا7 تعامل لغة جافا وآلة لغة الجافا JVM ككيانات منفصلة.
أنتج الطرف الثالث العديد من مصرف (برمجة) ومفسر (برمجة) التي تستهدف ال JVM , بعض هذه هي لغات القائمة بينما البعض الآخر لملحقات للغة جافا.
يتضمن هذا:
* بينشل - لغة برمجة نصية بسيطة مبنية على الجافا.
* كلوجر (لغة برمجة) - لهجة من لغة البرمجة Lisp.
* جروفي (لغة برمجة) - لغة ديناميكية مشابهة لبايثون وروبي وبيرل وسمالتالك.
* جروبي - روبي (لغة برمجة) مترجم.
* جايثون - بايثون مترجم.
* راينو (محرك جافا سكريبت) - جافا سكريبت مترجم.
* سكالا - لغة برمجة متعددة النماذج صممت لتكون «كأفضل جافا».
* غوسو - للأغراض العامة أفرج عن آلة جافا الافتراضية المستندة إلى لغة البرمجة بموجب رخصة أباتشي 2.0 .

### أدوات تطوير جافا

المقال الرئيسي: أدوات تطوير جافا هي منتجات صن ميكروسيستمز تهدف إلى مطوري جافا.
منذ مقدمة جافا كانت إلى حد بعيد حزمة أدوات تطوير البرمجيات جافا الأكثر استخداما على نطاق واسع (SDK).[ ويكيبيديا:بحاجة لمصدر ]
إنها تحتوي على مترجم جافا، نسخة كاملة من آلة جافا الافتراضية(JRE), والعديد من أدوات التنمية الهامة الأخرى.

## انظر أيضا

* اللغة الوسيطة العامة

## مراجع

* ↑ وصلة مرجع: https://openjdk.org/projects/jdk/19/.
* 1 2 "JDK 12.0.2, 11.0.4, 8u221, and 7u231 Have Been Released!" (بالإنجليزية). أوراكل. 17 Jul 2019. Archived from the original on 2019-10-01. Retrieved 2019-10-01.{{استشهاد ويب}}: صيانة الاستشهاد: لغة غير مدعومة (link)
* ↑ "JVM 7 Specification". مؤرشف من الأصل في 2018-10-11.
* ↑ www.beanshell.org

## وصلات خارجية

* الموقع الرسمي
* بوابة علم الحاسوب
* بوابة تقانة المعلومات
* بوابة برمجيات
* بوابة برمجة الحاسوب
* بوابة تقانة