لغة الجافا. هي لغة برمجة عالية المستوى قائمة على الفئة وموجهة نحو الكائنات تم تصميمها للحصول على أقل عدد ممكن من تبعيات التنفيذ. إنها لغة برمجة للأغراض العامة تهدف إلى السماح للمبرمجين بالكتابة مرة واحدة ، وتشغيلها في أي مكان ، مما يعني أن شفرة Java المجمعة يمكن تشغيلها على جميع الأنظمة الأساسية التي تدعم Java دون الحاجة إلى إعادة الترجمة.
نظرة عامة عن لغة الجافا
يتم تجميع تطبيقات Java إلى bytecode التي يمكن تشغيلها على أي جهاز ظاهري Java بغض النظر عن بنية الكمبيوتر الأساسية. يشبه بناء جملة Java C و C ++ ، ولكن لديه عدد أقل من المرافق منخفضة المستوى من أي منهما. يوفر وقت تشغيل Java إمكانات ديناميكية لا تتوفر عادة باللغات المترجمة التقليدية. كانت Java واحدة من لغات البرمجة الأكثر شعبية المستخدمة وفقا ل GitHub ، خاصة بالنسبة لتطبيقات الويب الخاصة بالعميل والخادم ، مع 9 ملايين مطور تم الإبلاغ عنهم.تطوير لغة الجافا
تم تطوير Java في الأصل بواسطة James Gosling في Sun Microsystems. تم إصداره في مايو 1995 كمكون أساسي لمنصة Java الخاصة ب Sun Microsystems. تم إصدار مترجمات Java الأصلية والمرجعية والأجهزة الافتراضية ومكتبات الفئات في الأصل بواسطة Sun بموجب تراخيص الملكية. اعتبارا من مايو 2007 ، وفقا لمواصفات عملية مجتمع جافا ، أعادت Sun ترخيص معظم تقنيات Java الخاصة بها بموجب ترخيص GPL-2.0 فقط. تقدم Oracle جهاز HotSpot Java الظاهري الخاص بها ، ولكن التنفيذ المرجعي الرسمي هو OpenJDK JVM وهو برنامج مجاني مفتوح المصدر ويستخدمه معظم المطورين وهو JVM الافتراضي لجميع توزيعات Linux تقريبا.Java 19 هو أحدث إصدار ، في حين أن Java 17 و 11 و 8 هي إصدارات الدعم الحالية طويلة الأجل.
تاريخ تطور لغة الجافا
بدأ جيمس جوسلينج ومايك شيريدان وباتريك نوتون مشروع لغة جافا في يونيو 1991. تم تصميم Java في الأصل للتلفزيون التفاعلي ، لكنه كان متقدما جدا بالنسبة لصناعة تلفزيون الكابل الرقمي في ذلك الوقت. كانت اللغة تسمى في البداية البلوط بعد شجرة البلوط التي وقفت خارج مكتب جوسلينج. في وقت لاحق ، أصبح المشروع يحمل اسم Green وتم تغيير اسمه أخيرا إلى Java ، من Java Coffee ، وهو نوع من القهوة من إندونيسيا. صمم Gosling Java مع بناء جملة على غرار C / C ++ يجده مبرمجو النظام والتطبيقات مألوفا.أصدرت Sun Microsystems أول تطبيق عام باسم Java 1.0 في عام 1996. لقد وعدت بالكتابة مرة واحدة ، وتشغيل الوظائف في أي مكان ، وتوفير أوقات تشغيل بدون تكلفة على المنصات الشائعة. آمن إلى حد ما ويتميز بأمان قابل للتكوين ، وسمح بقيود الوصول إلى الشبكة والملفات. سرعان ما دمجت متصفحات الويب الرئيسية القدرة على تشغيل تطبيقات Java الصغيرة داخل صفحات الويب ، وسرعان ما أصبحت Java شائعة.
مترجم Java 1.0
تمت إعادة كتابة مترجم Java 1.0 في Java بواسطة Arthur van Hoff للامتثال الصارم لمواصفات لغة Java 1.0. مع ظهور Java 2 ، كان للإصدارات الجديدة تكوينات متعددة مصممة لأنواع مختلفة من المنصات. تضمنت J2EE تقنيات وواجهات برمجة تطبيقات لتطبيقات المؤسسات التي تعمل عادة في بيئات الخوادم، في حين أن J2ME تميزت بواجهات برمجة التطبيقات المحسنة لتطبيقات الهاتف المحمول. تم تغيير اسم إصدار سطح المكتب إلى J2SE. في عام 2006 ، لأغراض التسويق ، أعادت Sun تسمية إصدارات J2 الجديدة باسم Java EE و Java ME و Java SE ، على التوالي.في عام 1997 ، اقتربت Sun Microsystems من هيئة معايير ISO / IEC JTC 1 وبعد ذلك Ecma International لإضفاء الطابع الرسمي على Java ، لكنها سرعان ما انسحبت من العملية. تظل Java معيارا فعليا ، يتم التحكم فيه من خلال عملية مجتمع Java. في وقت من الأوقات ، جعلت Sun معظم تطبيقات Java الخاصة بها متاحة بدون رسوم ، على الرغم من حالة البرامج الاحتكارية الخاصة بها. حققت Sun إيرادات من Java من خلال بيع تراخيص للمنتجات المتخصصة مثل نظام Java Enterprise.
استحواذ شركة Oracle على لغة الجافا
في 13 نوفمبر 2006 ، أصدرت Sun الكثير من أجهزتها الظاهرية Java كبرامج مجانية ومفتوحة المصدر ، بموجب شروط ترخيص GPL-2.0 فقط. في 8 مايو 2007 ، أنهت Sun العملية ، مما جعل جميع التعليمات البرمجية الأساسية ل JVM متاحة بموجب شروط توزيع البرمجيات الحرة / مفتوحة المصدر ، بصرف النظر عن جزء صغير من الشفرة التي لا تملك Sun حقوق الطبع والنشر الخاصة بها.وقال نائب رئيس صن ريتش غرين إن دور صن المثالي فيما يتعلق بجاوة هو دور المبشر. بعد استحواذ شركة Oracle Corporation على Sun Microsystems في 2009-2010 ، وصفت Oracle نفسها بأنها المشرف على تقنية Java مع التزام لا هوادة فيه بتعزيز مجتمع من المشاركة والشفافية. هذا لم يمنع Oracle من رفع دعوى قضائية ضد Google بعد ذلك بوقت قصير لاستخدام Java داخل Android SDK.
في 2 أبريل 2010، استقال جيمس جوسلينج من أوراكل.
في يناير 2016 ، أعلنت Oracle أن بيئات وقت تشغيل Java المستندة إلى JDK 9 ستوقف المكون الإضافي للمتصفح.
برنامج Java
يعمل برنامج Java على كل شيء من أجهزة الكمبيوتر المحمولة إلى مراكز البيانات وأجهزة الألعاب إلى أجهزة الكمبيوتر العلمية الفائقة.توصي Oracle بشدة بإلغاء تثبيت الإصدارات القديمة وغير المدعومة من Java ، بسبب مشكلات الأمان التي لم يتم حلها في الإصدارات القديمة.
مبادئ عمل لغة الجافا
كانت هناك خمسة أهداف أساسية في إنشاء لغة جافا:أصدرت Oracle آخر تحديث عام بدون تكلفة للإصدار القديم Java 8 LTS في يناير 2019 للاستخدام التجاري ، على الرغم من أنها ستظل تدعم Java 8 مع تحديثات عامة للاستخدام الشخصي إلى أجل غير مسمى. بدأ بائعون آخرون في تقديم إصدارات بدون تكلفة من OpenJDK 18 و 8 و 11 و 17 التي لا تزال تتلقى الأمان والترقيات الأخرى.
إصدارات الإصدار الرئيسية من Java ، إلى جانب تواريخ إصدارها
قامت Sun بتعريف ودعم أربعة إصدارات من Java تستهدف بيئات تطبيقات مختلفة وقسمت
العديد من واجهات برمجة التطبيقات الخاصة بها بحيث تنتمي إلى أحد الأنظمة
الأساسية. المنصات هي:
- بطاقة جافا للبطاقات الذكية.
- Java Platform, Micro Edition – استهداف البيئات ذات الموارد المحدودة.
- Java Platform, Standard Edition – استهداف بيئات محطات العمل.
- Java Platform, Enterprise Edition – استهداف المؤسسات الكبيرة الموزعة أو بيئات الإنترنت.
مصطلح الحزم في الجافا
يتم تنظيم الفئات في واجهات برمجة تطبيقات Java في مجموعات منفصلة تسمى الحزم. تحتوي كل حزمة على مجموعة من الواجهات والفئات والحزم الفرعية والاستثناءات ذات الصلة.قدمت Sun أيضا إصدارا يسمى Java Personal Java تم استبداله بأزواج لاحقة من ملفات تعريف تكوين Java ME المستندة إلى المعايير.
نظام التنفيذ جافا JVM و bytecode
أحد أهداف تصميم Java هو قابلية الحمل ، مما يعني أن البرامج المكتوبة لمنصة Java يجب أن تعمل بالمثل على أي مجموعة من الأجهزة ونظام التشغيل مع دعم وقت تشغيل كاف. يتم تحقيق ذلك عن طريق تجميع رمز لغة Java إلى تمثيل وسيط يسمى Java bytecode ، بدلا من مباشرة إلى رمز الجهاز الخاص بالهندسة المعمارية. تشبه تعليمات Java bytecode رمز الجهاز ، ولكن الغرض منها هو تنفيذها بواسطة جهاز ظاهري مكتوب خصيصا للأجهزة المضيفة. عادة ما يستخدم المستخدمون النهائيون بيئة وقت تشغيل Java المثبتة على أجهزتهم لتطبيقات Java المستقلة أو متصفح الويب لتطبيقات Java الصغيرة.توفر المكتبات القياسية طريقة عامة للوصول إلى الميزات الخاصة بالمضيف مثل الرسومات ومؤشرات الترابط والشبكات.
مميزات استخدام نظام bytecode
استخدام bytecode العالمي يجعل النقل بسيطا. ومع ذلك ، فإن النفقات العامة لتفسير bytecode إلى تعليمات الجهاز جعلت البرامج المفسرة تعمل دائما بشكل أبطأ من الملفات التنفيذية الأصلية. تم تقديم برامج التحويل البرمجي في الوقت المناسب التي تقوم بتجميع رموز البايت إلى رمز الجهاز أثناء وقت التشغيل من مرحلة مبكرة. مترجم Hotspot الخاص ب Java هو في الواقع مترجمان في واحد. ومع GraalVM مما يسمح بتجميع متدرج. Java نفسها مستقلة عن النظام الأساسي ويتم تكييفها مع النظام الأساسي المحدد الذي سيتم تشغيله بواسطة جهاز Java الظاهري لها ، والذي يترجم Java bytecode إلى لغة آلة النظام الأساسي.اداء البرامج المكتوبة بلغة الجافا
تتمتع البرامج المكتوبة بلغة Java بسمعة طيبة لكونها أبطأ وتتطلب ذاكرة أكبر من تلك المكتوبة في C ++. ومع ذلك ، تحسنت سرعة تنفيذ برامج Java بشكل كبير مع إدخال التجميع في الوقت المناسب في 1997/1998 ل Java 1.1 ، وإضافة ميزات اللغة التي تدعم تحليلا أفضل للتعليمات البرمجية ، والتحسينات في جهاز Java الظاهري ، مثل HotSpot الذي أصبح JVM الافتراضي ل Sun في عام 2000. مع Java 1.5 ، تم تحسين الأداء بإضافة حزمة java.util.concurrent ، بما في ذلك التطبيقات الخالية من القفل ل ConcurrentMaps وغيرها من المجموعات متعددة النواة ، وتم تحسينه بشكل أكبر باستخدام Java 1.6.المحاضرات اليومية
جميع المحاضرات OOP Book مفاهيم OOP مترجم- المرجع
تعليقات
إرسال تعليق
شكرا لك على تواصلك معنا ...