Java: مصطلح عام للغة البرمجة Java ومنصة Java التي أطلقتها Sun Microsystems في مايو 1995. Java هي لغة برمجة موجهة نحو الكائن يمكنها كتابة برنامج تطبيق منصة. تم تطويره في أوائل التسعينيات من قبل جيمس جوسلينج ، الذي كان يعمل في Sun Microsystems في ذلك الوقت. كان يدعى في الأصل البلوط. مع التطوير السريع للإنترنت ، أصبحت Java تدريجياً لغة برمجة شبكة مهمة.
لقد مر تسعين عامًا منذ ولادة النسخة الأولى من جافا. يمر الوقت ، ويمر في وميض. لقد مر 19 سنة في غمضة عين. في الجدول الزمني الموضح في الشكل أدناه ، نرى أن JDK قد تطورت إلى الإصدار 1.8. في هذه السنوات الـ 19 ، ولدت عدد لا يحصى من المنتجات والتقنيات والمعايير المتعلقة بـ Java. الآن دعنا ندخل Time Tunnel وتبدأ من العصر عندما تم رعاية لغة Java ، ونراجع مسار التطوير والتغييرات التاريخية لـ Java.
في أبريل 1991 ، تم إطلاق المشروع الأخضر ، بقيادة الدكتور جيمس جوسلينج ، بهدف تطوير بنية برنامج يمكن أن تعمل على مجموعة متنوعة من منتجات الإلكترونيات الاستهلاكية مثل الصناديق المرتفعة والثلاجات وأجهزة الراديو وما إلى ذلك. لم يكن أوك ناجحًا في سوق السلع الاستهلاكية في ذلك الوقت ، ولكن مع ظهور اتجاه الإنترنت في عام 1995 ، سرعان ما وجد أوك موقع السوق الذي يناسب تطوره وتحولت إلى لغة جافا.
في 23 مايو 1995 ، تم إعادة تسمية لغة البلوط جافا وتم إصدار إصدار Java 1.0 رسميًا في مؤتمر Sunworld. وضعت لغة Java لأول مرة شعار "اكتب مرة واحدة ، ركض في أي مكان".
في 23 يناير 1996 ، تم إصدار JDK 1.0 ، وكان لدى Java Language أول نسخة رسمية من البيئة الجارية. يوفر JDK 1.0 تنفيذ تنفيذ Java Virtual تنفيذ (Sun Classic VM). تشمل التقنيات التمثيلية لـ JDK الإصدار 1.0: Java Virtual Machines ، AWT ، إلخ.
في أبريل 1996 ، أعلن 10 من أهم موردي نظام التشغيل أنهم سيقومون بتضمين تقنية Java في منتجاتهم. في سبتمبر من نفس العام ، تم إنتاج حوالي 83000 صفحة ويب باستخدام تقنية Java. في نهاية مايو 1996 ، عقدت Sun أول مؤتمر Javaone في سان فرانسيسكو ، الولايات المتحدة الأمريكية. منذ ذلك الحين ، أصبح Javaone حدثًا تقنيًا سنويًا لملايين مطوري اللغات Java في جميع أنحاء العالم.
في 19 فبراير 1997 ، أصدرت Sun JDK 1.1. تم إصدار بعض نقاط الدعم الأساسية لتكنولوجيا Java (مثل JDBC ، وما إلى ذلك) في إصدار JDK 1.1. يتضمن الممثلون الفنيون لإصدار JDK 1.1: تنسيق ملف JAR و JDBC و Javabeans و RMI. لقد تطورت بناء جملة Java أيضًا إلى حد ما ، مثل الطبقة الداخلية والانعكاس التي تظهر في هذا الوقت.
حتى 8 أبريل 1999 ، أصدر JDK 1.1 ما مجموعه تسعة إصدارات: 1.1.0 إلى 1.1.8. منذ 1.1.4 ، يكون لكل إصدار من JDK اسمه الخاص (رمز المشروع) ، وهو: JDK 1.1.4 - Sparkler (GEM) ، JDK 1.1.5 - Pumpkin (Pumpkin) ، JDK 1.1.6 - Abigail (Abigail ، Female Name) ، JDK 1.1.7 - Brutus (Brutu ، Roman Politician) و JDK.
في 4 كانون الأول (ديسمبر) 1998 ، دخلت JDK في إصدار معلم من JDK 1.2 ، مع ملعب اسم رمز المشروع. في هذا الإصدار ، تقسم Sun نظام تقنية Java إلى ثلاثة اتجاهات ، أي J2Se (Java 2 Platform ، Standard Edition) ، J2EE (Java 2 Platform ، Enterprise Edition) للتطوير على مستوى المؤسسة ، و J2ME (Java 2 Platform ، Micro Edition) للمحطات المحمولة مثل الهواتف المحمولة. هناك العديد من التقنيات التمثيلية التي تظهر في هذا الإصدار ، مثل EJB و Java Plug-in و Java IDL و Swing ، وما إلى ذلك. لا يمكن للمترجمين المدمجين في JIT ، و VM الكلاسيكية التي تم إحضارها في الإصدار السابق استخدام برنامج التحويل البرمجي JIT فقط في شكل المكونات الإضافية). على مستوى اللغة ومستوى API ، تضيف Java الكلمات الرئيسية الصارمة وسلسلة من فئات جمع المجموعات التي تستخدم عادة في ترميز Java.
في مارس ويوليو 1999 ، تم إصدار نسختين صغيرتين ، JDK 1.2.1 و JDK 1.2.2 ، على التوالي.
في 27 أبريل 1999 ، تم إصدار جهاز Hotspot Virtual Machine. تم تطوير نقطة ساخنة في الأصل من قبل شركة صغيرة تسمى "Longview Technologies". نظرًا للأداء المتميز للنقطة الساخنة ، تم الحصول على الشركة من قبل Sun في عام 1997. تم إصدار الجهاز الظاهري للنقطة الساخنة كبرنامج إضافي لـ JDK 1.2 ، وبعد ذلك أصبح الجهاز الافتراضي الافتراضي لـ JDK 1.3 وجميع إصدارات Sun JDK.
في 8 مايو 2000 ، تم إصدار JDK 1.3 ، الذي تم إصدار رمز مشروعه Kestrel. تنعكس تحسينات JDK 1.3 مقارنةً بـ JDK 1.2 بشكل أساسي في بعض مكتبات الفصل (مثل العمليات الرياضية وواجهة برمجة تطبيقات المؤقت الجديدة ، إلخ). تم توفير خدمة JNDI كخدمة على مستوى النظام الأساسي منذ JDK 1.3 (كان JNDI مجرد امتداد من قبل) ، باستخدام Corba IIOP لتنفيذ بروتوكولات اتصال RMI ، وما إلى ذلك. هذا الإصدار أيضًا يجعل الكثير من التحسينات على Java 2D ، يوفر عددًا كبيرًا من APIs Java 2D الجديدة ، ويضيف مكتبة Javasound جديدة. لدى JDK 1.3 نسخة منقحة من JDK 1.3.1 ، مع اسم رمز المشروع Ladybird ، وتم إصداره في 17 مايو 2001.
منذ JDK 1.3 ، حافظت Sun على عادة إصدار نسخة رئيسية من JDK حوالي كل عامين ، والتي سميت على اسم الحيوانات ، والمراجعات المختلفة التي تم إصدارها خلال هذه الفترة تسمى الحشرات.
في 13 فبراير 2002 ، تم إصدار JDK 1.4 ، مع اسم رمز المشروع Merlin (Gray Back Falcon). JDK 1.4 هو نسخة من Java التي نضجت حقًا. شاركت الشركات الشهيرة مثل Compaq و Fujitsu و SAS و Symbian و IBM وحتى أنها أدركت JDK 1.4 المستقلة. بعد أكثر من عشر سنوات ، لا يزال هناك العديد من التطبيقات السائدة (الربيع ، السبات ، الدعامات ، وما إلى ذلك) التي يمكن أن تعمل مباشرة على JDK 1.4 ، أو الاستمرار في إطلاق الإصدارات التي يمكن تشغيلها على JDK 1.4. أصدرت JDK 1.4 أيضًا العديد من الميزات الفنية الجديدة ، مثل التعبيرات العادية وسلاسل الاستثناءات و NIO و LOGH Classes و Parsers و XSLT.
JDK 1.4 لديه مراجعان لاحقة:
JDK 1.4.1 ، The Project Codename Grasshopper ، الذي تم إصداره في 16 سبتمبر 2002
المشروع اسم Mantis JDK 1.4.2 الذي تم إصداره في 26 يونيو 2003.
حوالي عام 2002 ، تم إصدار حادثة لم يكن لها علاقة مباشرة مع Java ، ولكن في الواقع كان لها تأثير كبير على تطوير Java ، من قبل Microsoft's .NET Work. جلبت منصة التكنولوجيا هذه ، التي تشبه إلى حد كبير Java في كل من المستخدمين التقنيين والمستخدمين المستهدفين ، الكثير من النقاش والمقارنة والمنافسة مع Java. استمر النقاش الضخم بين منصة .NET ومنصة Java حتى الآن.
في 30 سبتمبر 2004 ، تم إصدار JDK 1.5 ، مع اسم رمز المشروع Tiger. منذ JDK 1.2 ، كان تحول Java على مستوى بناء الجملة صغيرًا جدًا ، وقد قام JDK 1.5 بتحسينات كبيرة في سهولة استخدام بناء جملة Java. على سبيل المثال ، تتم إضافة ميزات بناء الجملة مثل الملاكمة التلقائية ، والكرنات العامة ، والتعليقات التعليقات الديناميكية ، والتعداد ، ومعلمات الطول المتغيرة ، وحلقات اجتياز (حلقات foreach) في JDK 1.5. على الجهاز الظاهري ومستوى واجهة برمجة التطبيقات ، يحسن هذا الإصدار طراز ذاكرة Java (JMM) ، ويوفر Java.Util.Concurrent Concurrency Package ، وما إلى ذلك ، بالإضافة إلى ذلك ، يعد JDK 1.5 آخر إصدار من JDK يعلن رسميًا أنه يمكنه دعم نظام Windows 9X.
في 11 ديسمبر 2006 ، تم إصدار JDK 1.6 ، مع اسم رمز المشروع Mustang (موستانج). في هذا الإصدار ، أنهت Sun أساليب التسمية لـ J2EE و J2SE و J2ME التي كانت موجودة منذ 8 سنوات منذ JDK 1.2 ، ومكّنت أساليب التسمية من Java SE 6 و Java EE 6 و Java Me 6. API ، إلخ. في نفس الوقت ، قام هذا الإصدار بالكثير من التحسينات على الجهاز الظاهري Java ، بما في ذلك القفل والمزامنة وجمع القمامة وتحميل الفئة وغيرها من الخوارزميات.
في مؤتمر Javaone في 13 نوفمبر 2006 ، أعلنت Sun أنه سيفتح Java مفتوح المصدر ، وفي العام التالي ، تم الكشف عن أجزاء مختلفة من JDK على التوالي بموجب بروتوكول GPL V2 (GNU General Public License V2) ، وأنشأت منظمة OpenJDK لإدارة هذه القوانين المصدر بشكل مستقل. بالإضافة إلى كمية صغيرة جدًا من رمز حقوق الملكية (الرمز المذهل ، والتي لا يوجد بها في الغالب ، أي إذن من أشعة الشمس في معالجة المصادر المفتوحة) ، يتضمن OpenJDK جميع رموز Sun JDK تقريبًا. قال مدير الجودة في OpenJDK ذات مرة إنه في JDK 1.7 ، فإن رموز Sun JDK و OpenJDK هي نفسها في الأساس باستثناء التعليقات التوضيحية لحقوق الطبع والنشر لرؤوس ملفات الكود ، لذا فإن OpenJDK 7 و Sun JDK 1.7 هي منتجات تم تطويرها بشكل أساسي من نفس المجموعة من قواعد التعليمات البرمجية.
بعد إصدار JDK 1.6 ، نظرًا لزيادة تعقيد الكود ، فإن JDK Open Source ، وتطوير Javafx ، والأزمة الاقتصادية ، و Sun Sucisition ، أنفقت Sun الكثير من الموارد على أشياء أخرى غير تطوير JDK ، ولم يحافظ تحديث JDK على سرعة تطوير إصدار نسخة رئيسية لمدة عامين آخرين. أصدرت JDK 1.6 ما مجموعه 37 إصدار تحديث حتى الآن. أحدث إصدار هو Java SE 6 Update 37 ، الذي تم إصداره في 16 أكتوبر 2012.
في 19 فبراير 2009 ، أكملت JDK 1.7 ، Dolphin المسمى رمزًا ، أول نسخة لها. وفقًا للتخطيط الوظيفي لـ JDK 1.7 ، تم تعيين ما مجموعه 10 معالم. كان من المقرر في الأصل أن تنتهي نسخة البشر الأخيرة في 9 سبتمبر 2010 ، لكن JDK 1.7 لم يتمكن في النهاية من إكماله كما هو مخطط له لأسباب مختلفة.
انطلاقًا من التخطيط الوظيفي الأولي لـ JDK 1.7 ، يجب أن يكون إصدار JDK يحتوي على العديد من التحسينات المهمة. سيكون للمشروعات الفرعية مثل مشروع Lambda (تعبيرات Lambda ، والبرمجة الوظيفية) ، ومشروع Jigsaw (الدعم المعياري للآلات الافتراضية) ، ودعم اللغة الديناميكية ، ومجمع GarbageFirst ومشروع العملة (تفاصيل اللغة) تأثير عميق على صناعة Java. خلال تطوير JDK 1.7 ، كانت شركة Sun في مستنقع في كل من المسابقات التكنولوجية والتجارية ، وانخفضت قيمتها السوقية الأسهم إلى 3 ٪ فقط من فترة الذروة ، ولم تعد قادرة على الترويج لتطوير JDK 1.7 كالمعتاد. من أجل إنهاء "التوقف" على المدى الطويل لـ JDK 1.7 في أقرب وقت ممكن ، أعلن Oracle بعد فترة وجيزة من الحصول على Sun ، وسوف تنفذ "الخطة B" وخفض بشكل كبير الهدف المحدد مسبقًا لـ JDK 1.7 للتأكد من أن الإصدار الرسمي من JDK 1.7 يمكن إطلاقه في الوقت المحدد في 28 يوليو 2011. أخيرًا ، تشمل التحسينات الرئيسية لـ JDK 1.7 ما يلي: توفير جامع G1 جديد (كان G1 لا يزال في الحالة التجريبية عندما تم إصداره ، ولم يتم "إصلاحه" رسميًا حتى التحديث 4 في أبريل 2012) ، مما يعزز دعم المكالمات للغات غير الجاف (JSR-292 ، هذه الميزة لم يتم تنفيذها بالكامل حتى الآن) ، وترقية معمارة التحميل الفئة ، إلخ.
حتى الآن ، أصدرت JDK 1.7 إصدارات تحديث 9 ، وتم إصدار أحدث تحديث Java SE 7 في 16 أكتوبر 2012. بدءًا من Java SE 7 Update 4 ، بدأت Oracle في دعم نظام التشغيل Mac OS X وتوصل إلى الدعم الكامل في التحديث 6. منصات ، ويدعم ARM و X86 و X64 و SPARC تعليمات تعليمات.
في 20 أبريل 2009 ، أعلنت Oracle أنها حصلت رسميًا على Sun مقابل 7.4 مليار دولار أمريكي ، وأن العلامة التجارية Java كانت مملوكة رسميًا من قبل Oracle (لغة Java نفسها لا تنتمي إلى أي شركة ، تتم إدارتها بواسطة منظمة JCP ، على الرغم من أن JCP يقودها Sun أو Oracle). نظرًا لأن Oracle قد استحوذت سابقًا على شركة وسيطة كبيرة أخرى ، BEA ، بعد الانتهاء من عملية الاستحواذ على Sun ، حصلت Oracle على اثنين من الأجهزة الافتراضية التجارية الثلاثة الرئيسية الحالية من Bea and Sun و Jrockit و Hotspot. أعلنت Oracle أنه في غضون عامين إلى عامين ، سوف يتعلم من نقاط القوة والضعف في بعضها البعض ودمجها أخيرًا في واحدة. يمكن توقع أنه في المستقبل القريب ، ستخضع تقنية الجهاز الافتراضي في Java لتغييرات كبيرة.
في 28 يوليو 2011 ، أصدرت Oracle Java SE 1.7
في 18 مارس 2014 ، أصدرت Oracle Java SE 1.8
تحتوي لغة Java على الميزات التالية: البساطة ، الموجه نحو الكائنات ، الموزعة ، المفسرة ، التنفيذ القوي ، الآمن ، المعماري المحايد ، المحمول ، العالي ، متعدد الخيوط ، والديناميكية.