تاريخ إصدارات جافا
شهدت لغة جافا العديد من التغييرات منذ إصدار JDK 1.0 ، بالإضافة إلى إضافات عديدة من الأصناف والحزم إلى المكتبة القياسية . ومنذ J2SE 1.4، أصبح تطوير لغة جافا خاضعًا لعملية مجتمع جافا (JCP)، التي تستخدم طلبات مواصفات جافا (JSRs) لاقتراح وتحديد الإضافات والتغييرات على منصة جافا . وتُحدد اللغة بواسطة مواصفات لغة جافا (JLS)، وتُدار التغييرات على JLS بموجب JSR 901. في سبتمبر 2017، اقترح مارك راينهولد، كبير مهندسي منصة جافا، تغيير دورة الإصدارات إلى "إصدار ميزة واحدة كل ستة أشهر" بدلًا من الجدول الزمني الحالي الذي كان يمتد لسنتين. [ 1 ] [ 2 ] وقد دخل هذا الاقتراح حيز التنفيذ في جميع الإصدارات اللاحقة، ولا يزال هو جدول الإصدارات الحالي.
بالإضافة إلى التغييرات اللغوية، طرأت تغييرات أخرى على مكتبة فئات جافا على مر السنين، حيث نمت من بضع مئات من الفئات في JDK 1.0 إلى أكثر من ثلاثة آلاف في J2SE 5. وقد تم تقديم واجهات برمجة تطبيقات جديدة كليًا ، مثل Swing و Java2D ، وتم إيقاف استخدام العديد من فئات وأساليب JDK 1.0 الأصلية ، ولم تتم إزالة سوى عدد قليل جدًا من واجهات برمجة التطبيقات (واحدة على الأقل، خاصة بالخيوط، في Java 22 [ 3 ] ). تسمح بعض البرامج بتحويل برامج جافا من إصدار إلى آخر من منصة جافا (على سبيل المثال، Java 5.0 المُعاد توجيهها إلى 1.4) (انظر أدوات إعادة توجيه جافا ).
فيما يتعلق بخطة دعم Oracle لـ Java SE ، [ 4 ] يُعد Java SE 25 ( دعم طويل الأمد ) أحدث إصدار حتى سبتمبر 2025 (وJava 26 إصدار لاحق)، بينما تُعد الإصدارات 21 و17 و11 و8 إصدارات أخرى لا تزال مدعومة ( دعم طويل الأمد - LTS)، حيث سيحصل عملاء Oracle على دعم Oracle Premier. وتواصل Oracle إصدار تحديثات Java 8 العامة مجانًا لأغراض التطوير [ 4 ] والاستخدام الشخصي إلى أجل غير مسمى. [ 5 ]
في حالة OpenJDK ، يتوفر كل من الدعم التجاري طويل الأجل وتحديثات البرامج المجانية من منظمات متعددة في المجتمع الأوسع . [ 6 ]
تم إصدار Java 26 في 17 مارس 2026 وتم إصدار Java 25 LTS في 16 سبتمبر 2025. [ 7 ]
جدول الإصدار
| إصدار | يكتب | إصدار تنسيق ملف الفئة [ 8 ] | تاريخ الافراج عنه | نهاية التحديثات العامة (المجانية) | نهاية الدعم الممتد (المدفوع) |
|---|---|---|---|---|---|
| غير مدعوم: JDK 1.0 | 45 [ 9 ] | 23 يناير 1996 | مايو 1996 | غير متوفر | |
| غير مدعوم: JDK 1.1 | 45 | 18 فبراير 1997 | أكتوبر 2002 | غير متوفر | |
| غير مدعوم: J2SE 1.2 | 46 | 4 ديسمبر 1998 | نوفمبر 2003 | غير متوفر | |
| غير مدعوم: J2SE 1.3 | 47 | 8 مايو 2000 | مارس 2006 | غير متوفر | |
| غير مدعوم: J2SE 1.4 | 48 | 13 فبراير 2002 | أكتوبر 2008 | غير متوفر | |
| غير مدعوم: J2SE 5.0 (1.5) | 49 | 30 سبتمبر 2004 | أكتوبر 2009 | غير متوفر | |
| غير مدعوم: Java SE 6 (1.6) | 50 | 11 ديسمبر 2006 | أبريل 2013 لشركة أوراكل، ديسمبر 2018 لشركة أزول [ 10 ] | ديسمبر 2016 لشركة Red Hat [ 11 ] أكتوبر 2018 لشركة Oracle [ 12 ] ديسمبر 2027 لشركة Azul [ 10 ] مارس 2028 لشركة BellSoft Liberica [ 13 ] | |
| غير مدعوم: Java SE 7 (1.7) | 51 | 28 يوليو 2011 | يوليو 2015 لأوراكل، يوليو 2022 لأزول [ 10 ] ، سبتمبر 2022 لـ IBM Java SDK [ 14 ] | يونيو 2020 لشركة Red Hat [ 11 ] يوليو 2022 لشركة Oracle [ 15 ] ديسمبر 2027 لشركة Azul [ 10 ] مارس 2028 لشركة BellSoft Liberica [ 13 ] | |
| يدعم: Java SE 8 (1.8) | مدعوم: LTS | 52 | 18 مارس 2014 | أبريل 2019 لأوراكل، نوفمبر 2026 لريد هات [ 11 ] ، نوفمبر 2026 لأزول [ 10 ] ، نوفمبر 2026 لـ IBM Semeru Runtimes [ 16 ]، ديسمبر 2030 لإكليبس تيمورين [ 17 ]، ديسمبر 2030 لأمازون كوريتو [ 18 ] ، ديسمبر 2030 لـ IBM Java SDK [ 14 ] | ديسمبر 2030 لشركة أوراكل [ 4 ] ديسمبر 2030 لشركة أزول [ 10 ] مارس 2031 لشركة بيلسوفت ليبريكا [ 13 ] |
| غير مدعوم: Java SE 9 (1.9) | 53 | 21 سبتمبر 2017 | مارس 2018 | غير متوفر | |
| غير مدعوم: Java SE 10 (1.10) | 54 | 20 مارس 2018 | سبتمبر 2018 | غير متوفر | |
| يدعم: Java SE 11 | مدعوم: LTS | 55 | 25 سبتمبر 2018 | أبريل 2019 لأوراكل، سبتمبر 2027 لمايكروسوفت، إصدار OpenJDK [ 19 ] ، أكتوبر 2024 لريد هات [ 11 ] ، أكتوبر 2027 لإكليبس تيمورين [ 17 ]، أكتوبر 2027 لـ IBM Semeru Runtimes [ 16 ]، يناير 2032 لأمازون كوريتو [ 18 ] ، يناير 2032 لأزول [ 10 ] | يناير 2032 لشركة Azul [ 10 ] مارس 2032 لشركة BellSoft Liberica [ 13 ] أكتوبر 2027 لشركة Red Hat [ 11 ] يناير 2032 لشركة Oracle [ 4 ] |
| غير مدعوم: Java SE 12 | 56 | 19 مارس 2019 | سبتمبر 2019 | غير متوفر | |
| غير مدعوم: Java SE 13 | 57 | 17 سبتمبر 2019 | مارس 2020 | غير متوفر | |
| غير مدعوم: Java SE 14 | 58 | 17 مارس 2020 | سبتمبر 2020 | غير متوفر | |
| غير مدعوم: Java SE 15 | 59 | 16 سبتمبر 2020 | مارس 2021 | غير متوفر | |
| غير مدعوم: Java SE 16 | 60 | 16 مارس 2021 | سبتمبر 2021 | غير متوفر | |
| يدعم: Java SE 17 | مدعوم: LTS | 61 | 14 سبتمبر 2021 | سبتمبر 2024 لأوراكل [ 4 ] ، سبتمبر 2027 لمايكروسوفت، إصدار OpenJDK [ 19 ] ، أكتوبر 2027 لإكليبس تيمورين [ 17 ] ، أكتوبر 2027 لريد هات [ 11 ] ، أكتوبر 2027 لـ IBM Semeru Runtimes [ 16 ]، أكتوبر 2029 لأمازون كوريتو [ 18 ] ، سبتمبر 2029 لأزول [ 10 ] | سبتمبر 2029 لشركة أوراكل [ 4 ] مارس 2030 لشركة بيلسوفت ليبريكا [ 13 ] |
| غير مدعوم: Java SE 18 | 62 | 22 مارس 2022 | سبتمبر 2022 | غير متوفر | |
| غير مدعوم: Java SE 19 | 63 | 20 سبتمبر 2022 | مارس 2023 | غير متوفر | |
| غير مدعوم: Java SE 20 | 64 | 21 مارس 2023 | سبتمبر 2023 | غير متوفر | |
| يدعم: Java SE 21 | مدعوم: LTS | 65 | 19 سبتمبر 2023 | سبتمبر 2028 لأوراكل [ 4 ] ، سبتمبر 2028 لمايكروسوفت، إصدار OpenJDK [ 19 ] ، ديسمبر 2029 لريد هات [ 11 ] ، ديسمبر 2029 لإكليبس تيمورين [ 17 ]، ديسمبر 2029 لـ IBM Semeru Runtimes [ 16 ]، أكتوبر 2030 لأمازون كوريتو [ 18 ] ، سبتمبر 2031 لأزول [ 10 ] | سبتمبر 2031 لشركة أوراكل [ 4 ] مارس 2032 لشركة بيلسوفت ليبريكا [ 13 ] |
| غير مدعوم: Java SE 22 | 66 | 19 مارس 2024 | سبتمبر 2024 | غير متوفر | |
| غير مدعوم: Java SE 23 | 67 | 17 سبتمبر 2024 | مارس 2025 لأوراكل، مارس 2025 لأزول [ 10 ] ، مارس 2025 لـ IBM Semeru Runtimes [ 16 ] | غير متوفر | |
| غير مدعوم: Java SE 24 | 68 | 18 مارس 2025 | سبتمبر 2025 | غير متوفر | |
| يدعم: Java SE 25 | مدعوم: LTS | 69 | 16 سبتمبر 2025 | سبتمبر 2030 لشركة أوراكل [ 4 ]، سبتمبر 2031 لشركة إكليبس تيمورين [ 17 ]، سبتمبر 2033 لشركة أزول [ 10 ] ، يوليو 2032 لشركة أمازون كوريتو [ 18 ] | سبتمبر 2033 لشركة أوراكل [ 4 ] مارس 2034 لشركة بيلسوفت ليبريكا [ 13 ] |
| أحدث إصدار: Java SE 26 | 70 | 17 مارس 2026 | سبتمبر 2026 | غير متوفر | |
| الإصدار المستقبلي: Java SE 27 | 71 | 14 سبتمبر 2026 | مارس 2027 | غير متوفر | |
أسطورة: غير مدعوم مدعوم أحدث إصدار نسخة معاينة الإصدار المستقبلي | |||||
JDK 1.0
تم إصدار النسخة الأولى في 23 يناير 1996. [ 20 ] [ 21 ] أما النسخة المستقرة الأولى، JDK 1.0.2، فتُسمى Java 1. [ 21 ]
وتضمن ذلك:
- ميزات اللغة الأساسية (أنواع جافا الأساسية في java.lang، وفئات الأدوات المساعدة في java.util)
- دعم الرسومات ( إطار عمل AWT )
- دعم إنشاء تطبيق جافا صغير
- مكتبات للإدخال / الإخراج والشبكات
JDK 1.1
تضمنت الإضافات الرئيسية في الإصدار الصادر في 19 فبراير 1997 ما يلي: [ 22 ]
- إعادة تصميم شاملة لنموذج أحداث مجموعة أدوات النافذة المجردة (AWT)
- تمت إضافة فئات داخلية إلى اللغة
- جافا بينز
- اتصال قاعدة بيانات جافا (JDBC) ودعم لغة SQL
- استدعاء الأساليب عن بُعد في جافا (RMI) والتسلسل
- كان الانعكاس يدعم الاستبطان فقط، ولم يكن من الممكن إجراء أي تعديل أثناء التشغيل. (أُضيفت إمكانية تعديل الكائنات بشكل انعكاسي في J2SE 1.2، من خلال تقديم فئة AccessibleObject وفئاتها الفرعية مثل فئة Field ).
- تجميع البرامج في الوقت المناسب (JIT) على منصات مايكروسوفت ويندوز ، تم إنتاجه لصالح جافا سوفت بواسطة سيمانتك
- دعم التدويل واليونيكود من شركة تالجنت [ 23 ]
J2SE 1.2
أُعيد تسمية الإصدار الذي صدر في 8 ديسمبر 1998 والإصدارات اللاحقة حتى J2SE 5.0 إلى Java 2 ، واستُبدل اسم JDK باسم "J2SE" ( منصة Java 2، الإصدار القياسي ) لتمييز المنصة الأساسية عن J2EE ( منصة Java 2، إصدار المؤسسات ) وJ2ME ( منصة Java 2، الإصدار المصغر ). كان هذا إصدارًا بالغ الأهمية للغة Java، إذ ضاعف حجم منصة Java ثلاث مرات ليصل إلى 1520 فئة في 59 حزمة. وشملت الإضافات الرئيسية ما يلي: [ 24 ]
J2SE 1.3
أبرز التغييرات في إصدار 8 مايو 2000 كانت: [ 25 ] [ 26 ]
- تم تضمين HotSpot JVM (تم إصدار HotSpot JVM لأول مرة في أبريل 1999 لـ J2SE 1.2 JVM)
- تم تعديل RMI لدعم التوافق الاختياري مع CORBA .
- واجهة تسمية ودليل جافا (JNDI) مضمنة في المكتبات الأساسية (كانت متاحة سابقًا كملحق)
- بنية مصحح أخطاء منصة جافا (JPDA)
- جافا ساوند
- فئات الوكيل الاصطناعي
يُعد Java 1.3 آخر إصدار من Java يدعم رسميًا نظام التشغيل Microsoft Windows 95. [ 27 ]
J2SE 1.4
كان إصدار 6 فبراير 2002 هو الإصدار الأول لمنصة جافا التي تم تطويرها في إطار عملية مجتمع جافا تحت اسم JSR 59. وشملت التغييرات الرئيسية ما يلي: [ 28 ] [ 29 ]
- تغيرات اللغة
assertالكلمة المفتاحية (المحددة في JSR 41 )
- تحسينات المكتبة
- التعبيرات النمطية المصممة على غرار التعبيرات النمطية في لغة بيرل
- يسمح تسلسل الاستثناءات بتغليف الاستثناء الأصلي ذي المستوى الأدنى
- دعم بروتوكول الإنترنت الإصدار 6 ( IPv6 )
- الإدخال/الإخراج غير المحظور (المسمى NIO) (المحدد في JSR 51 )
- واجهة برمجة تطبيقات التسجيل (المحددة في JSR 47 )
- واجهة برمجة تطبيقات إدخال/إخراج الصور لقراءة وكتابة الصور بتنسيقات مثل JPEG و PNG
- محلل XML متكامل ومعالج XSLT ( JAXP ) (محدد في JSR 5 و JSR 63 )
- ملحقات الأمان والتشفير المتكاملة ( JCE ، JSSE ، JAAS )
- تم تضمين Java Web Start (تم إصدار Java Web Start لأول مرة في مارس 2001 لـ J2SE 1.3) (محدد في JSR 56 )
- واجهة برمجة تطبيقات التفضيلات (
java.util.prefs)
انتهى الدعم العام وتحديثات الأمان لـ Java 1.4 في أكتوبر 2008. وانتهت تحديثات الأمان المدفوعة لعملاء Oracle في فبراير 2013. [ 30 ]
جافا إس إي 5
كان الإصدار الصادر في 30 سبتمبر 2004 يحمل في الأصل الرقم 1.5، وهو الرقم المستخدم حتى الآن كرقم داخلي للإصدار. وقد تم تغيير الرقم ليعكس بشكل أفضل مستوى نضج واستقرار وقابلية التوسع وأمان بيئة تطوير جافا 2 (J2SE). [ 31 ] تم تطوير هذا الإصدار وفقًا لمعيار JSR 176 .
دخلت Java SE 5 فترة نهاية التحديثات العامة في 8 أبريل 2008؛ ولم تعد التحديثات متاحة للجمهور اعتبارًا من 3 نوفمبر 2009. وكانت التحديثات متاحة لعملاء Oracle المدفوعين حتى مايو 2015. [ 4 ]
أضافت Tiger عددًا من ميزات اللغة الجديدة الهامة: [ 32 ] [ 33 ]
- الأنواع العامة : توفر أمان النوع في وقت الترجمة (الثابت) للمجموعات وتلغي الحاجة إلى معظم عمليات تحويل الأنواع (المحددة بواسطة JSR 14 )
- البيانات الوصفية : وتسمى أيضًا التعليقات التوضيحية ؛ تسمح بوضع علامات على بنيات اللغة مثل الفئات والأساليب ببيانات إضافية، والتي يمكن معالجتها بعد ذلك بواسطة الأدوات المساعدة المدركة للبيانات الوصفية (المحددة بواسطة JSR 175 ).
- التحويل التلقائي بين الأنواع الأولية (مثل
int) وفئات التغليف الأولية (مثلInteger) (المحددة بواسطة JSR 201 ) - التعدادات :
enumتقوم الكلمة المفتاحية بإنشاء قائمة مرتبة وآمنة من حيث النوع من القيم (مثلDay.MONDAY،Day.TUESDAY، إلخ)؛ سابقًا، كان من الممكن تحقيق ذلك فقط عن طريق الأعداد الصحيحة الثابتة غير الآمنة من حيث النوع أو الفئات التي تم إنشاؤها يدويًا (نمط التعداد الآمن من حيث النوع) (المحدد بواسطة JSR 201 ) - Varargs : يمكن الآن تعريف المعامل الأخير للدالة باستخدام اسم نوع متبوع بثلاث نقاط (مثلاً `varargs`
void drawtext(String... lines)). في الكود المُستدعي، يمكن استخدام أي عدد من المعاملات من هذا النوع، ثم تُوضع هذه المعاملات في مصفوفة لتمريرها إلى الدالة، أو بدلاً من ذلك، يمكن للكود المُستدعي تمرير مصفوفة من هذا النوع. for eachحلقة محسّنة :forتم توسيع صيغة الحلقة بصيغة خاصة للتكرار على كل عنصر من عناصر المصفوفة أو أي عنصر آخرIterable، مثلCollectionالفئات القياسية (المحددة بواسطة JSR 201 ).- تحسين دلالات التنفيذ لبرامج جافا متعددة الخيوط؛ نموذج ذاكرة جافا الجديد يعالج قضايا التعقيد والفعالية والأداء للمواصفات السابقة [ 34 ]
- الاستيرادات الثابتة
كما أُدخلت التحسينات التالية على المكتبات القياسية:
- إنشاء تلقائي لنموذج أولي لكائنات RMI
- سوينغ : مظهر وإحساس جديدان قابلان للتخصيص ، يُطلق عليهما اسم سينث
- أدوات التزامن في الحزمة [ 35 ]
java.util.concurrent - فئة الماسح الضوئي لتحليل البيانات من مختلف تدفقات الإدخال والمخازن المؤقتة
Java 5 هو آخر إصدار من Java يدعم رسميًا Microsoft Windows 98 و Windows ME ، [ 36 ] بينما كان Windows Vista هو أحدث إصدار من Windows الذي تم دعم Java SE 5 عليه قبل انتهاء دعم Java 5 في أكتوبر 2009. [ 30 ]
يُعد Java 5 Update 5 (1.5.0_05) آخر إصدار من Java يعمل على نظام التشغيل Windows 95 (مع تثبيت Internet Explorer 5.5 ) ونظام التشغيل Windows NT 4.0 . [ 37 ]
كان Java 5 متاحًا لأول مرة على Apple Mac OS X 10.4 (Tiger) [ 38 ] وكان الإصدار الافتراضي من Java المثبت على Apple Mac OS X 10.5 (Leopard).
انتهى الدعم العام وتحديثات الأمان لـ Java 1.5 في نوفمبر 2009. وانتهت تحديثات الأمان المدفوعة لعملاء Oracle في أبريل 2015.
تغيير في إصدار النظام
أدخل هذا الإصدار نظامًا جديدًا لترقيم الإصدارات للغة جافا، على الرغم من استمرار استخدام نظام ترقيم الإصدارات القديم لمكتبات المطورين:
يُستخدم كل من رقمي الإصدار "1.5.0" و"5.0" لتحديد هذا الإصدار من Java 2 Platform Standard Edition. الإصدار "5.0" هو إصدار المنتج، بينما الإصدار "1.5.0" هو إصدار المطورين. يُستخدم الرقم "5.0" ليعكس بشكل أفضل مستوى نضج واستقرار وقابلية التوسع وأمان J2SE.
— "الإصدار 1.5.0 أم 5.0؟"، ملاحظات إصدار جافا [ 39 ]
استمرت هذه المراسلات من خلال الإصدارات اللاحقة (Java 6 = JDK 1.6، Java 7 = JDK 1.7، وهكذا).
جافا إس إي 6
ابتداءً من الإصدار الصادر في 11 ديسمبر 2006، استبدلت شركة صن اسم "J2SE" باسم Java SE ، وحذفت ".0" من رقم الإصدار. [ 40 ] بقي الترقيم الداخلي للمطورين 1.6.0. [ 41 ]
تم تطوير هذه النسخة بموجب JSR 270 .
خلال مرحلة التطوير، تم إصدار نسخ جديدة تتضمن تحسينات وإصلاحات للأخطاء بشكل أسبوعي تقريبًا. وتم إصدار نسخ تجريبية في فبراير ويونيو 2006، وصولًا إلى الإصدار النهائي الذي صدر في 11 ديسمبر 2006.
التغييرات الرئيسية المضمنة في هذه النسخة: [ 42 ] [ 43 ]
- توقف دعم إصدارات ويندوز 9x القديمة؛ وبحسب ما ورد بشكل غير رسمي، كان تحديث جافا 6 الإصدار 7 آخر إصدار من جافا يعمل على هذه الإصدارات من ويندوز. ويُعتقد أن هذا يعود إلى التغييرات الكبيرة في التحديث 10.
- دعم لغات البرمجة النصية ( JSR 223 ): واجهة برمجة تطبيقات عامة للتكامل الوثيق مع لغات البرمجة النصية، وتكامل مدمج مع Mozilla JavaScript Rhino .
- تحسينات كبيرة في الأداء للمنصة الأساسية، [ 44 ] [ 45 ] و Swing .
- تحسين دعم خدمة الويب من خلال JAX-WS ( JSR 224 ).
- دعم JDBC 4.0 ( JSR 221 ).
- واجهة برمجة تطبيقات مترجم جافا ( JSR 199 ): واجهة برمجة تطبيقات تسمح لبرنامج جافا بتحديد واستدعاء مترجم جافا برمجيًا.
- ترقية JAXB إلى الإصدار 2.0: بما في ذلك دمج محلل StAX .
- دعم التعليقات التوضيحية القابلة للتوصيل ( JSR 269 ). [ 46 ]
- العديد من التحسينات في واجهة المستخدم الرسومية ، مثل دمج SwingWorker في واجهة برمجة التطبيقات، وفرز الجداول وتصفيتها، والتخزين المؤقت المزدوج الحقيقي لـ Swing (القضاء على تأثير المنطقة الرمادية).
- تشمل تحسينات JVM ما يلي: تحسينات في التزامن وأداء المترجم ، وخوارزميات جديدة وترقيات لخوارزميات جمع البيانات المهملة الحالية ، وأداء بدء تشغيل التطبيق.
يمكن تثبيت Java 6 على نظام التشغيل Mac OS X 10.5 (Leopard) الذي يعمل على أجهزة بمعالجات 64 بت (Core 2 Duo وما فوق). [ 47 ] كما يدعم Java 6 كلاً من أجهزة 32 بت و64 بت التي تعمل بنظام التشغيل Mac OS X 10.6 (Snow Leopard).
انتهى دعم Java 6 في فبراير 2013، حيث كان من المقرر إيقاف جميع التحديثات العامة، بما في ذلك التحديثات الأمنية. [ 48 ] [ 49 ] أصدرت أوراكل تحديثين إضافيين لـ Java 6 في مارس وأبريل 2013، لمعالجة بعض الثغرات الأمنية. [ 50 ] [ 51 ]
تحديثات جافا 6
بعد إصدار Java 6، أصدرت Sun، ولاحقًا Oracle، العديد من التحديثات التي، على الرغم من عدم تغيير أي واجهة برمجة تطبيقات عامة، حسّنت من سهولة استخدام المستخدم النهائي أو أصلحت الأخطاء. [ 52 ]
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| جافا إس إي 6 | 23-12-2006 | يُضيف هذا الإصدار العديد من التحسينات في مجالات خدمات الويب، والبرمجة النصية، وقواعد البيانات، والتعليقات التوضيحية القابلة للتوصيل، والأمان، بالإضافة إلى الجودة والتوافق والاستقرار. أصبح JConsole مدعومًا رسميًا الآن. كما تمت إضافة دعم Java DB. |
| تحديث جافا إس إي 6 1 | 2007-05-07 | |
| تحديث جافا إس إي 6 2 | 2007-07-03 | |
| تحديث جافا إس إي 6 الإصدار 3 | 2007-10-03 | |
| تحديث جافا إس إي 6 4 | 14 يناير 2008 | HotSpot VM 10 |
| تحديث جافا إس إي 6 الإصدار 5 | 2008-03-05 | تم إصلاح العديد من الثغرات الأمنية. وتشمل الآن شهادات الجذر الجديدة من AOL وDigiCert وTrustCenter. |
| تحديث جافا إس إي 6 6 | 2008-04-16 | تم تقديم حل بديل لمشكلة تأكيد القفل الشهيرة في Xlib/XCB. كما تم إصلاح تسرب الذاكرة عند استخدام مصادقة Kerberos مع LoginContext. بالإضافة إلى ذلك، تم إصلاح العديد من الأخطاء الأخرى. |
| تحديث جافا إس إي 6 7 | بشكل غير رسمي، يُعد Java SE 6 Update 7 (1.6.0.7) آخر إصدار من Java تم إثبات عمله على أنظمة التشغيل Win9x. | |
| Java SE 6 Update 10 | 15-10-2008 | HotSpot VM 11. تشمل التغييرات الرئيسية لهذا التحديث ما يلي:
|
| Java SE 6 Update 11 [ 55 ] | 2008-12-03 | 13 إصلاحًا أمنيًا |
| تحديث Java SE 6 12 | 12-12-2008 | لا توجد إصلاحات أمنية؛ إضافة جافا 64 بت (لمتصفحات الويب 64 بت فقط)؛ دعم ويندوز سيرفر 2008 ؛ تحسينات في أداء تطبيقات الرسومات وجافا إف إكس |
| Java SE 6 Update 13 | 24-03-2009 | 7 إصلاحات أمنية، تعديل طفيف على تخزين واسترجاع كائنات جافا في LDAP باستخدام JNDI، تغيير JMX (createMBeanunregisterMBean)، إضافة 4 شهادات جذر جديدة |
| تحديث Java SE 6 رقم 14 | 2009-05-28 | HotSpot VM 14. يتضمن هذا الإصدار تحديثات شاملة لأداء مُترجم JIT، ومؤشرات مضغوطة للأجهزة ذات 64 بت، بالإضافة إلى دعم تجريبي لـ Garbage-First (G1)، وهو جامع قمامة ذو فترة توقف قصيرة . [ 56 ] [ 57 ] يوجه هذا لاحظ بعض المطورين مشكلةً ظهرت في هذا الإصدار، تتسبب في تفويت أدوات تصحيح الأخطاء لنقاط التوقف بشكل عشوائي على ما يبدو. [ 58 ] وقد أبلغت شركة Sun عن هذا الخطأ، وهي تتابع المشكلة. ينطبق الحل البديل على كلٍ من الأجهزة الافتراضية للعميل والخادم. [ 59 ] سيؤدي استخدام هذا |
| تحديث Java SE 6 رقم 15 | 2009-08-04 | تم إدخال وظيفة التصحيح في مكانها |
| تحديث Java SE 6 رقم 16 | 2009-08-11 | تم إصلاح المشكلة التي ظهرت في التحديث 14 والتي تسببت في عدم تمكن أدوات تصحيح الأخطاء من تحديد نقاط التوقف. |
| تحديث Java SE 6 رقم 17 | 2009-11-04 | إصلاحات أمنية؛ شهادتان جذريتان جديدتان |
| تحديث Java SE 6 رقم 18 | 2010-01-13 | لا توجد إصلاحات أمنية؛ Hotspot VM 16؛ دعم Ubuntu 8.04 LTS Desktop Edition، وSLES 11، و Windows 7 ، و Red Hat Enterprise Linux 5.3، و Firefox 3.6، وVisualVM 1.2؛ قاعدة بيانات Java محدثة؛ العديد من تحسينات الأداء |
| تحديث Java SE 6 19 | 30-03-2010 | إصلاحات أمنية؛ تغييرات في شهادة الجذر: سبع شهادات جديدة، وثلاث شهادات محذوفة، وخمس شهادات تم استبدالها بخوارزميات توقيع أقوى؛ إصلاح مؤقت لهجوم إعادة التفاوض على بروتوكول أمان طبقة النقل (TLS). |
| تحديث Java SE 6 20 | 2010-04-15 | إصلاحان أمنيان |
| تحديث Java SE 6 رقم 21 | 2010-07-07 | لا توجد إصلاحات أمنية؛ Hotspot VM 17؛ دعم Red Hat Enterprise Linux 5.4 و5.5، و Oracle Enterprise Linux 4.8 و5.4 و5.5؛ دعم Google Chrome 4؛ دعم مؤشرات تقدم التحميل المخصصة؛ VisualVM 1.2.2 |
| تحديث Java SE 6 رقم 22 | 2010-10-12 | 29 إصلاحًا أمنيًا؛ دعم RFC 5746 |
| تحديث Java SE 6 رقم 23 | 2010-12-08 | لا توجد إصلاحات أمنية؛ Hotspot VM 19؛ دعم أفضل للغات التي تُكتب من اليمين إلى اليسار |
| تحديث Java SE 6 رقم 24 | 2011-02-15 | 21 إصلاحًا أمنيًا؛ قاعدة بيانات جافا محدثة |
| تحديث Java SE 6 رقم 25 | 2011-03-21 | لا توجد إصلاحات أمنية؛ Hotspot VM 20؛ دعم لمتصفحات Internet Explorer 9 و Firefox 4 و Chrome 10؛ تحسين BigDecimal؛ يتضمن تجميعًا "متدرجًا" في Server VM مما يُمكّنه من البدء بسرعة كما يفعل Client VM، مع تحقيق أداء ذروة أفضل (يتم تمكين هذه الميزة عن طريق تحديد خيارات الأمر) -server.-XX:+TieredCompilation |
| تحديث Java SE 6 رقم 26 | 2011-06-07 | 17 إصلاحًا أمنيًا جديدًا؛ [ 60 ] آخر إصدار متوافق مع نظام التشغيل Windows Vista SP1 |
| تحديث Java SE 6 رقم 27 | 2011-08-16 | لا توجد إصلاحات أمنية؛ شهادة اعتماد لمتصفح فايرفوكس 5 |
| تحديث Java SE 6 رقم 29 | 2011-10-18 | 20 إصلاحًا أمنيًا، وإصلاحات متنوعة للأخطاء [ 61 ] |
| تحديث Java SE 6 رقم 30 | 2011-12-12 | لا توجد إصلاحات أمنية؛ تم إصلاح مشكلة تراجع SSL في التحديث 29؛ دعم Red Hat Enterprise Linux 6 |
| تحديث Java SE 6 رقم 31 | 2012-02-14 | 14 إصلاحًا أمنيًا وإصلاحًا واحدًا للأخطاء؛ يعمل الإصدار الأخير بشكل موثوق مع نظام التشغيل Windows 2000 [ 62 ] |
| Java SE 6 Update 32 | 2012-04-26 | لا توجد إصلاحات أمنية، ولكن تم إصلاح العديد من الأخطاء البرمجية. |
| تحديث Java SE 6 رقم 33 | 2012-06-12 | 14 إصلاحًا أمنيًا، وتحسين تحميل ملفات تكوين الأجهزة الافتراضية |
| تحديث Java SE 6 رقم 34 | 2012-08-14 | لا توجد إصلاحات أمنية، ولكن تم إصلاح العديد من الأخطاء البرمجية. |
| تحديث Java SE 6 رقم 35 | 30-08-2012 | يحتوي على إصلاح أمني متعمق [ 63 ] |
| تحديث Java SE 6 رقم 37 | 2012-10-16 | 30 إصلاحًا أمنيًا |
| تحديث Java SE 6 رقم 38 | 2012-12-11 | إصلاحات متنوعة للأخطاء |
| تحديث Java SE 6 رقم 39 | 2013-02-01 | 50 إصلاحًا أمنيًا |
| تحديث Java SE 6 رقم 41 | 19-02-2013 | 5 إصلاحات أمنية |
| تحديث Java SE 6 رقم 43 | 2013-03-04 | إصلاحان أمنيان |
| تحديث Java SE 6 رقم 45 | 2013-04-16 | 42 إصلاحًا أمنيًا؛ [ 64 ] تغييرات أخرى؛ التحديث العام النهائي. [ 65 ] |
| تحديث Java SE 6 رقم 51 | 2013-06-18 | غير متاح للجمهور، متاح فقط من خلال برنامج دعم Java SE وفي تحديثات Apple لأنظمة التشغيل OS X Snow Leopard و Lion و Mountain Lion؛ ما يصل إلى 40 إصلاحًا أمنيًا [ 66 ] |
| تحديث جافا إس إي 6 رقم 65 | 2013-10-15 | غير متاح للجمهور، متاح فقط من خلال برنامج دعم Java SE وفي تحديث Apple لنظام التشغيل OS X Snow Leopard و Lion و Mountain Lion؛ ما لا يقل عن 11 إصلاحًا أمنيًا حرجًا [ 67 ] |
| تحديث Java SE 6 رقم 71 | 2014-01-14 | غير متاح للتنزيل العام؛ 33 إصلاحًا |
| تحديث Java SE 6 رقم 75 | 2014-04-15 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10 رقم 54؛ 25 إصلاحًا أمنيًا [ 68 ] |
| تحديث Java SE 6 رقم 81 | 2014-07-15 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 11 إصلاحًا أمنيًا [ 69 ] |
| تحديث Java SE 6 رقم 85 | 2014-10-16 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 18 إصلاحًا أمنيًا [ 70 ] |
| تحديث Java SE 6 رقم 91 | 2015-01-21 | تتوفر إصدارات Linux x64 وWindows i586 كإصدار مرجعي لتطبيق Java SE 6. [ 71 ] أما الإصدارات الأخرى، فهي متوفرة فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 15 إصلاحًا أمنيًا [ 72 ] |
| تحديث Java SE 6 رقم 95 | 2015-04-14 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 14 إصلاحًا أمنيًا [ 73 ] |
| تحديث Java SE 6 رقم 101 | 2015-07-15 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 18 إصلاحًا أمنيًا [ 74 ] تم تقديم شهادة IE 10 و11 في الإصدار 1.6.0_101 |
| تحديث Java SE 6 رقم 105 | 2015-10-20 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 17 إصلاحًا أمنيًا [ 75 ] |
| تحديث Java SE 6 رقم 111 | 2016-01-20 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 13 إصلاحًا أمنيًا [ 76 ] |
| تحديث Java SE 6 رقم 113 | 2016-02-05 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ إصلاح أمني واحد [ 77 ] |
| تحديث Java SE 6 رقم 115 | 2016-04-21 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 8 إصلاحات أمنية [ 78 ] |
| تحديث Java SE 6 رقم 121 | 19-07-2016 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 15 إصلاحًا أمنيًا [ 79 ] |
| تحديث Java SE 6 رقم 131 | 2016-10-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 13 إصلاحًا أمنيًا [ 80 ] |
| تحديث Java SE 6 رقم 141 | 2017-01-17 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 17 إصلاحًا أمنيًا [ 81 ] |
| تحديث Java SE 6 رقم 151 | 2017-04-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 10 إصلاحات أمنية [ 82 ] |
| تحديث Java SE 6 رقم 161 | 2017-07-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 5 إصلاحات أمنية [ 83 ] |
| تحديث Java SE 6 رقم 171 | 2017-10-20 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 7 إصلاحات أمنية [ 84 ] |
| تحديث Java SE 6 رقم 181 | 2018-01-16 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 12 إصلاحًا أمنيًا [ 85 ] |
| تحديث Java SE 6 رقم 191 | 2018-04-17 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 7 إصلاحات أمنية [ 86 ] |
| تحديث Java SE 6 201 | 2018-07-17 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 3 إصلاحات أمنية [ 87 ] |
| تحديث Java SE 6 رقم 211 | 2018-10-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 8 إصلاحات أمنية [ 88 ] |
جافا إس إي 7
كان Java 7 تحديثًا رئيسيًا أُطلق في 7 يوليو 2011 [ 90 ] ، وأُتيح للمطورين في 28 يوليو 2011 [ 91 ] . قُسّمت فترة التطوير إلى ثلاثة عشر مرحلة رئيسية؛ وفي 6 يونيو 2011، اكتملت آخر هذه المراحل [ 91 ] [ 92 ] . في المتوسط، تم إصدار 8 نسخ تجريبية (تضمنت عادةً تحسينات وإصلاحات للأخطاء) لكل مرحلة رئيسية. تُفصّل قائمة الميزات في مشروع OpenJDK 7 العديد من التغييرات.
تتضمن الإضافات في Java 7 ما يلي:
- دعم JVM للغات الديناميكية ، مع رمز البايت الجديد
invokedynamicضمن JSR-292، [ 93 ] وذلك بعد أعمال النمذجة الأولية الجارية حاليًا على الآلة الافتراضية متعددة اللغات - مؤشرات مضغوطة 64 بت [ 94 ] (متوفرة في Java 6 مع
-XX:+UseCompressedOops) [ 95 ] - ميزات لغة مشروع كوين: [ 96 ]
- السلاسل في المفتاح [ 97 ]
- إدارة الموارد التلقائية في عبارة try-statement المعروفة أيضًا باسم عبارة try-with-resources [ 98 ]
- تحسين استنتاج النوع لإنشاء مثيل عام، المعروف أيضًا باسم عامل الماس
<>[ 99 ] - تعريف مبسط للطريقة ذات الوسائط المتغيرة [ 100 ]
- القيم العددية الثنائية [ 101 ]
- السماح باستخدام الشرطات السفلية في القيم العددية الحرفية [ 102 ]
- التقاط أنواع متعددة من الاستثناءات وإعادة طرح الاستثناءات مع تحسين فحص النوع [ 103 ]
- أدوات التزامن بموجب JSR 166 [ 104 ]
- مكتبة جديدة لإدخال/إخراج الملفات (مُعرّفة في JSR 203) تُضيف دعمًا لأنظمة ملفات متعددة، وبيانات تعريف الملفات، والروابط الرمزية. الحزم الجديدة هي
java.nio.file[ 105 ]java.nio.file.attributeوjava.nio.file.spi[ 106 ] . - تُستخدم خوارزمية Timsort لفرز مجموعات ومصفوفات الكائنات بدلاً من خوارزمية فرز الدمج.
- دعم على مستوى المكتبة لخوارزميات تشفير المنحنيات الإهليلجية
- مسار XRender لتقنية Java 2D، والذي يحسن التعامل مع الميزات الخاصة بوحدات معالجة الرسومات الحديثة.
- واجهات برمجة التطبيقات الجديدة للمنصة لميزات الرسومات التي تم تنفيذها في الأصل في الإصدار 6u10 كواجهات برمجة تطبيقات غير مدعومة [ 107 ]
- دعم مُحسّن على مستوى المكتبة لبروتوكولات الشبكة الجديدة، بما في ذلك بروتوكول SCTP وبروتوكول Sockets Direct.
- تحديثات المصدر لـ XML و Unicode
- مجموعات قواعد نشر جافا [ 108 ]
تم حذف Lambda (تنفيذ جافا لوظائف لامدا )، وJigsaw (تنفيذ جافا للوحدات )، وجزء من Coin من جافا 7، وأُصدرت كجزء من جافا 8 (باستثناء Jigsaw ، الذي صدر في جافا 9). [ 109 ] [ 110 ]
كان الإصدار 7 من جافا هو الإصدار الافتراضي للتنزيل على موقع java.com من أبريل 2012 حتى إصدار جافا 8. [ 111 ]
تحديثات جافا 7
أصدرت أوراكل تحديثات عامة لعائلة جافا 7 بشكل ربع سنوي [ 112 ] حتى أبريل 2015، حين انتهى طرح المنتج للجمهور. [ 113 ] أما التحديثات اللاحقة لـ JDK 7، التي استمرت حتى يوليو 2022، فهي متاحة فقط للعملاء المشتركين في عقد دعم. [ 114 ]
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 7 [ 115 ] | 2011-07-28 | الإصدار الأولي؛ HotSpot VM 21 |
| تحديث جافا إس إي 7 1 | 2011-10-18 | 20 إصلاحًا أمنيًا، وإصلاحات أخرى للأخطاء البرمجية. |
| تحديث جافا إس إي 7 2 | 2011-12-12 | لا توجد إصلاحات أمنية؛ HotSpot VM 22؛ تحسينات في الموثوقية والأداء؛ دعم Solaris 11 و Firefox 5 والإصدارات الأحدث؛ JavaFX مضمنة في Java SE JDK، تحسينات للتطبيقات المنشورة على الويب |
| تحديث جافا إس إي 7 الإصدار 3 | 2012-02-14 | 14 إصلاحًا أمنيًا [ 116 ] |
| تحديث جافا إس إي 7 4 | 2012-04-26 | لا توجد تحديثات أمنية؛ HotSpot VM 23؛ دعم JDK لنظام التشغيل Mac OS X؛ جامع النفايات المدعوم الجديد : Garbage-First (G1) |
| تحديث جافا إس إي 7 الإصدار 5 | 2012-06-12 | 14 إصلاحًا أمنيًا [ 117 ] |
| تحديث جافا إس إي 7 6 | 2012-08-14 | يتضمن تثبيت Java SE JDK و JRE كلاً من JavaFX و Java Access Bridge ، ودعم JavaFX للشاشات التي تعمل باللمس ولوحات اللمس، ودعم JavaFX لنظام Linux ، ودعم JDK و JRE لنظام Mac OS X، و JDK لنظام Linux على ARM [ 118 ]. |
| تحديث جافا إس إي 7 الإصدار 7 | 30-08-2012 | 4 إصلاحات أمنية [ 63 ] |
| تحديث جافا إس إي 7 9 | 2012-10-16 | إصلاح 30 ثغرة أمنية [ 119 ] |
| تحديث Java SE 7 10 | 2012-12-11 | ميزات أمان جديدة، مثل القدرة على تعطيل تشغيل أي تطبيق جافا في المتصفح، ونوافذ حوار جديدة لتحذيرك عندما يكون JRE غير آمن، بالإضافة إلى إصلاحات للأخطاء. |
| تحديث Java SE 7 رقم 11 | 13-01-2013 | بيانات أولسون 2012i؛ إصلاح أخطاء تتعلق بتسجيل الملحق على الأنظمة المثبتة عليها نسخة مستقلة من JavaFX، وإصلاحات أمنية لثغرة CVE - 2013-0422 ؛ [ 120 ] تم رفع مستوى الأمان الافتراضي لتطبيقات Java الصغيرة وتطبيقات بدء تشغيل الويب من "متوسط" إلى "عالي". |
| Java SE 7 Update 13 [ 121 ] | 2013-02-01 | 50 إصلاحًا أمنيًا |
| تحديث Java SE 7 رقم 15 | 19-02-2013 | 5 إصلاحات أمنية |
| تحديث Java SE 7 رقم 17 | 2013-03-04 | إصلاحان أمنيان |
| تحديث Java SE 7 رقم 21 | 2013-04-16 | تغييرات متعددة تشمل 42 إصلاحًا أمنيًا، وخادم JRE جديد لا يتضمن المكون الإضافي، وJDK لنظام Linux على معالجات ARM |
| تحديث Java SE 7 رقم 25 | 2013-06-18 | تغييرات متعددة تشمل 40 إصلاحًا أمنيًا [ 66 ] [ 122 ] |
| تحديث Java SE 7 رقم 40 | 2013-09-10 | 621 إصلاحًا للأخطاء، [ 123 ] ميزات أمان جديدة، دعم ARM بتقنية hardfloat ، ودعم Java Mission Control 5.2 وشاشة Retina [ 124 ] |
| تحديث Java SE 7 رقم 45 | 2013-10-15 | 51 إصلاحًا أمنيًا؛ [ 67 ] حماية ضد إعادة توزيع تطبيقات جافا غير المصرح بها؛ استعادة مطالبات الأمان؛ تغييرات JAXP؛ تغيير TimeZone.setDefault |
| تحديث Java SE 7 رقم 51 | 2014-01-14 | 36 إصلاحًا أمنيًا؛ حظر تطبيقات جافا المصغرة بدون بيان (مثل وحدة التحكم عن بُعد - تطبيق جافا المصغر - بطاقة IBM IMM، بطاقة HP iLO) حتى لو كان مربع حوار التحذير يحتوي على عبارة "سيتم حظرها في الإصدار التالي"، [ 125 ] [ 126 ] 17 إصلاحًا للأخطاء |
| تحديث Java SE 7 رقم 55 | 2014-04-15 | 37 إصلاحًا أمنيًا، [ 68 ] 19 إصلاحًا للأخطاء [ 127 ] |
| تحديث جافا إس إي 7 رقم 60 | 2014-05-28 | Java Mission Control 5.3، [ 128 ] 130 إصلاحًا للأخطاء [ 129 ] |
| تحديث جافا إس إي 7 رقم 65 | 2014-07-15 | 18 إصلاحًا للأخطاء |
| تحديث جافا إس إي 7 رقم 67 | 2014-08-04 | إصلاح خطأ واحد |
| تحديث Java SE 7 رقم 71 | 2014-10-14 | 16 إصلاحًا للأخطاء |
| تحديث Java SE 7 رقم 72 | 2014-10-14 | نفس تاريخ الإصدار مع التحديث 71 كتحديث حزمة تصحيحات (PSU) مطابق لـ Java SE 7، [ 130 ] 36 إصلاحًا للأخطاء |
| تحديث Java SE 7 رقم 75 | 2015-01-20 | تم إصلاح 12 خطأ، وتم تعطيل بروتوكول SSLv3 افتراضيًا. |
| تحديث جافا إس إي 7 رقم 76 | 2015-01-20 | نفس تاريخ الإصدار مع التحديث 75 كتحديث حزمة تصحيحات (PSU) مطابق لـ Java SE 7، [ 130 ] 97 إصلاحًا للأخطاء |
| تحديث Java SE 7 رقم 79 | 2015-04-14 | 21 إصلاحًا أمنيًا، و6 إصلاحات للأخطاء البرمجية، |
| تحديث Java SE 7 رقم 80 | 2015-04-14 | آخر إصدار عام من Java 7؛ نفس تاريخ إصدار التحديث 79 كتحديث حزمة تصحيحات (PSU) لـ Java SE 7، مع 104 إصلاحات للأخطاء. |
| تحديث Java SE 7 رقم 85 | 2015-07-15 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 25 إصلاحًا أمنيًا [ 131 ] |
| تحديث Java SE 7 رقم 91 | 2015-10-20 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 20 إصلاحًا أمنيًا [ 132 ] |
| تحديث Java SE 7 رقم 95 | 19-01-2016 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 8 إصلاحات أمنية [ 133 ] |
| تحديث Java SE 7 رقم 97 | 2016-02-05 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ إصلاح أمني واحد [ 77 ] |
| تحديث جافا إس إي 7 رقم 99 | 2016-03-23 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ إصلاح أمني واحد [ 134 ] |
| تحديث Java SE 7 رقم 101 | 2016-04-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 22 إصلاحًا أمنيًا [ 135 ] |
| تحديث Java SE 7 رقم 111 | 19-07-2016 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 36 إصلاحًا أمنيًا [ 79 ] |
| تحديث Java SE 7 رقم 121 | 2016-10-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 32 إصلاحًا أمنيًا [ 80 ] |
| تحديث Java SE 7 رقم 131 | 2017-01-17 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 34 إصلاحًا أمنيًا [ 81 ] |
| تحديث Java SE 7 رقم 141 | 2017-04-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 8 إصلاحات أمنية [ 136 ] |
| تحديث Java SE 7 رقم 151 | 2017-07-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 4 إصلاحات أمنية [ 83 ] |
| تحديث Java SE 7 رقم 161 | 2017-10-20 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 4 إصلاحات أمنية [ 84 ] |
| تحديث Java SE 7 رقم 171 | 2018-01-16 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 51 إصلاحًا أمنيًا [ 85 ] |
| تحديث Java SE 7 رقم 181 | 2018-04-17 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 12 إصلاحًا أمنيًا [ 86 ] |
| تحديث Java SE 7 رقم 191 | 2018-07-17 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 9 إصلاحات أمنية [ 87 ] |
| تحديث Java SE 7 201 | 2018-10-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 13 إصلاحًا أمنيًا [ 88 ] |
| تحديث Java SE 7 رقم 211 | 2019-01-15 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 5 إصلاحات أمنية [ 137 ] |
| تحديث Java SE 7 رقم 221 | 2019-04-16 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 5 إصلاحات أمنية [ 138 ] |
| تحديث Java SE 7 رقم 231 | 2019-07-16 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 6 إصلاحات أمنية [ 139 ] |
| تحديث Java SE 7 رقم 241 | 2019-10-15 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 15 إصلاحًا أمنيًا [ 140 ] |
| تحديث Java SE 7 رقم 251 | 2020-01-14 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 12 إصلاحًا أمنيًا [ 141 ] |
| تحديث Java SE 7 رقم 261 | 2020-04-14 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 15 إصلاحًا أمنيًا [ 142 ] |
| تحديث Java SE 7 رقم 271 | 2020-07-14 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 11 إصلاحًا أمنيًا [ 143 ] |
| تحديث Java SE 7 رقم 281 | 2020-10-20 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 8 إصلاحات أمنية [ 144 ] |
| تحديث Java SE 7 رقم 291 | 2021-01-19 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 1 إصلاح أمني [ 145 ] |
| تحديث Java SE 7 رقم 301 | 2021-04-12 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 11 إصلاحًا أمنيًا [ 146 ] |
| تحديث Java SE 7 رقم 311 | 2021-07-20 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 24 إصلاحًا للأخطاء [ 147 ] |
| تحديث Java SE 7 رقم 321 | 2021-10-19 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 16 إصلاحًا للأخطاء [ 148 ] |
| تحديث Java SE 7 رقم 331 | 2022-01-18 | غير متاح للعامة، متاح فقط من خلال برنامج دعم Java SE وفي مجموعة التصحيحات الموصى بها لنظام Solaris 10؛ 18 إصلاحًا للأخطاء [ 149 ] |
Java SE 8 (LTS)
تم إصدار Java 8 في 18 مارس 2014، [ 150 ] [ 151 ] وتضمنت بعض الميزات التي كان من المخطط لها في Java 7 ولكن تم تأجيلها لاحقًا. [ 152 ]
تم تنظيم العمل على الميزات وفقًا لمقترحات تحسين JDK (JEPs). [ 153 ]
- JSR 335، JEP 126: دعم لغة جافا لتعبيرات لامدا (رسميًا: تعبيرات لامدا؛ غير رسميًا: الإغلاقات ) ضمن مشروع لامدا [ 154 ] والأساليب الافتراضية ( أساليب الامتداد الافتراضية ) [ 155 ] [ 156 ] [ 157 ] ، والتي يمكن استخدامها لإضافة أساليب إلى الواجهات دون التأثير على التطبيقات الحالية. دار نقاش مستمر في مجتمع جافا حول إضافة دعم لتعبيرات لامدا. [ 158 ] أعلنت شركة صن لاحقًا عن تضمين تعبيرات لامدا في جافا، وطلبت آراء المجتمع لتحسين هذه الميزة. [ 159 ] كما يُمكّن دعم تعبيرات لامدا من إجراء عمليات وظيفية على تدفقات العناصر، مثل التحويلات المستوحاة من MapReduce على المجموعات. يمكن لمطور واجهة برمجة التطبيقات استخدام الأساليب الافتراضية لإضافة أساليب جديدة إلى واجهة دون التأثير على الكود القديم الذي يستخدمها. على الرغم من أن ذلك لم يكن هدفهم الأساسي، [ 155 ] يمكن أيضًا استخدام الطرق الافتراضية للتوريث المتعدد للسلوك (ولكن ليس الحالة).
- JEP 174: مشروع ناشورن ، بيئة تشغيل جافا سكريبت قادرة على تشغيل كود جافا سكريبت المضمن داخل التطبيقات
- JEP 104: تعليق توضيحي على أنواع Java
- العمليات الحسابية على الأعداد الصحيحة غير الموقعة [ 160 ]
- JEP 120: التعليقات المتكررة
- JEP 150: واجهة برمجة تطبيقات التاريخ والوقت
- JEP 178: مكتبات JNI المرتبطة بشكل ثابت
- JEP 153: تشغيل تطبيقات JavaFX (تشغيل مباشر لملفات JAR الخاصة بتطبيقات JavaFX)
- JEP 122: إزالة التوليد الدائم
لا يدعم نظام التشغيل Windows XP إصدار Java 8 [ 161 ] ، ولكن بدءًا من تحديث JDK 8 رقم 25، لا يزال بالإمكان تثبيته وتشغيله على نظام Windows XP. [ 162 ] ويمكن تشغيل التحديثات السابقة من JDK 8 على نظام XP عن طريق تنزيل ملف مضغوط بصيغة ZIP وفك ضغطه للحصول على الملف التنفيذي. آخر إصدار من Java 8 يمكن تشغيله على نظام XP هو التحديث رقم 251.
ابتداءً من أكتوبر 2014، أصبح Java 8 الإصدار الافتراضي للتنزيل (ثم أصبح لاحقًا الإصدار الذي حلّ محل Java 9) من الموقع الرسمي. [ 163 ] "ستواصل أوراكل توفير التحديثات العامة والتحديثات التلقائية لـ Java SE 8، بشكل دائم للمستخدمين الشخصيين". [ 164 ]
تحديثات جافا 8
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| جافا إس إي 8 | 2014-03-18 | الإصدار الأولي |
| Java SE 8 Update 5 [ 165 ] | 2014-04-15 | استخدام " *" في Caller-Allowable-Codebaseالسمة؛ إصلاح 11 خطأً |
| Java SE 8 Update 11 [ 166 ] | 2014-07-15 | أداة تحليل تبعيات جافا (jdeps)؛ خيار تعطيل الرعاة في لوحة تحكم جافا؛ سمة ملف JAR - نقطة الدخول؛ خاصية حد معالجة JAXP - maxElementDepth؛ 18 إصلاحًا لثغرات أمنية، [ 167 ] 15 إصلاحًا للأخطاء |
| Java SE 8 Update 20 [ 168 ] | 2014-08-19 | 669 إصلاحًا للأخطاء، [ 169 ] JMC 5.4، إزالة التكرار من السلاسل النصية (معطلة افتراضيًا) |
| Java SE 8 Update 25 [ 170 ] | 2014-10-14 | 10 إصلاحات للأخطاء |
| Java SE 8 Update 31 [ 171 ] | 19-01-2015 | 26 إصلاحًا للأخطاء؛ SSLv3 (معطل افتراضيًا) |
| Java SE 8 Update 40 [ 172 ] | 2015-03-03 | 645 إصلاحًا للأخطاء، [ 173 ] تمت إضافة مفهوم "ضغط الذاكرة" للمساعدة في الإشارة إلى مقدار ذاكرة النظام المتاحة (ضغط منخفض = ذاكرة عالية، ضغط مرتفع = ذاكرة منخفضة). |
| Java SE 8 Update 45 [ 174 ] | 2015-04-14 | 13 إصلاحًا للأخطاء |
| Java SE 8 Update 51 [ 175 ] | 2015-07-14 | تمت إضافة دعم لبيئة الحماية الأصلية على أنظمة ويندوز (معطلة افتراضيًا)؛ بالإضافة إلى 25 إصلاحًا أمنيًا و14 إصلاحًا للأخطاء. |
| Java SE 8 Update 60 [ 176 ] | 2015-08-18 | 480 إصلاحًا للأخطاء [ 177 ] |
| Java SE 8 Update 65 [ 178 ] | 2015-10-20 | 25 إصلاحًا أمنيًا، و3 إصلاحات للأخطاء البرمجية |
| Java SE 8 Update 66 [ 179 ] | 2015-11-16 | 15 إصلاحًا للأخطاء |
| Java SE 8 Update 71 [ 180 ] | 19-01-2016 | 8 إصلاحات أمنية، 5 إصلاحات للأخطاء [ 181 ] |
| Java SE 8 Update 72 [ 182 ] | 19-01-2016 | ثمانية إصلاحات أمنية، وخمسة إصلاحات للأخطاء، والعديد من التحسينات |
| Java SE 8 Update 73 [ 183 ] | 2016-02-03 | إصلاح أمني واحد |
| Java SE 8 Update 74 [ 184 ] | 2016-02-03 | إصلاح أمني واحد |
| Java SE 8 Update 77 [ 185 ] | 2016-03-23 | إصلاح أمني واحد |
| Java SE 8 Update 91 [ 186 ] | 2016-04-19 | 9 إصلاحات أمنية، 4 إصلاحات للأخطاء وتحسينات |
| Java SE 8 Update 92 [ 187 ] | 2016-04-19 | تم إدخال إصلاحات أمنية وإصلاحات للأخطاء من الإصدار 8u91، بالإضافة إلى 76 إصلاحًا إضافيًا للأخطاء؛ وتم تقديم العلامات ExitOnOutOfMemoryErrorوCrashOnOutOfMemoryError |
| تحديث Java SE 8 رقم 101 [ 188 ] | 19-07-2016 | إصلاحات أمنية وإصلاحات للأخطاء من الإصدار 8u92، بالإضافة إلى 9 إصلاحات إضافية للأخطاء. |
| Java SE 8 Update 102 [ 189 ] | 19-07-2016 | إصلاحات أمنية وإصلاحات للأخطاء من الإصدار 8u101، بالإضافة إلى 118 إصلاحًا إضافيًا للأخطاء. |
| Java SE 8 Update 111 [ 190 ] | 2016-10-18 | 7 إصلاحات أمنية و9 إصلاحات للأخطاء |
| Java SE 8 Update 112 [ 191 ] | 2016-10-18 | ميزات إضافية و139 إصلاحًا للأخطاء في الإصدار 8u111 |
| Java SE 8 Update 121 [ 192 ] | 2017-01-17 | 3 ميزات إضافية، و5 تغييرات، و11 إصلاحًا للأخطاء في الإصدار 8u112. |
| Java SE 8 Update 131 [ 193 ] | 2017-04-18 | 4 تغييرات و 42 إصلاحًا للأخطاء (2 منها جديرة بالذكر). |
| Java SE 8 Update 141 [ 194 ] | 2017-07-18 | ميزة إضافية، 3 تغييرات و12 إصلاحًا للأخطاء. |
| Java SE 8 Update 144 [ 195 ] | 2017-07-26 | 32 إصلاحًا أمنيًا وإصلاحًا للأخطاء من الإصدار 8u141. |
| Java SE 8 Update 151 [ 196 ] | 2017-10-17 | 22 إصلاحًا أمنيًا، وملاحظتان، وإلغاء شهادة واحدة، وميزة جديدة واحدة، و6 تغييرات و24 إصلاحًا للأخطاء من الإصدار 8u144. |
| Java SE 8 Update 152 [ 197 ] | 2017-10-17 | إصلاحات أمنية، وميزة جديدة واحدة، وتغيير واحد، و238 إصلاحًا للأخطاء من الإصدار 8u151 (واحد منها جدير بالذكر). |
| Java SE 8 Update 161 [ 198 ] | 2018-01-16 | 21 إصلاحًا أمنيًا، و3 ميزات جديدة، و9 تغييرات، وإصلاح خطأ واحد من الإصدار 8u152. |
| Java SE 8 Update 162 [ 199 ] | 2018-01-16 | إصلاحات أمنية، و63 إصلاحًا للأخطاء البرمجية. |
| Java SE 8 Update 171 [ 200 ] | 2018-04-17 | إصلاحات أمنية، وإصلاحات للأخطاء البرمجية. |
| Java SE 8 Update 172 [ 201 ] | 2018-04-17 | إصلاحات أمنية، وإصلاحات للأخطاء البرمجية. |
| Java SE 8 Update 181 [ 202 ] | 2018-07-17 | إصلاحات أمنية، وإصلاحات للأخطاء البرمجية. |
| Java SE 8 Update 191 [ 203 ] | 2018-10-16 | ميزات جديدة، تغييرات، إصلاحات للأخطاء، إصلاحات أمنية. |
| Java SE 8 Update 192 [ 204 ] | 2018-10-16 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. |
| تحديث Java SE 8 رقم 201 [ 205 ] | 2019-01-15 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. |
| تحديث Java SE 8 رقم 202 [ 206 ] | 2019-01-15 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. |
| تحديث Java SE 8 رقم 211 [ 207 ] | 2019-04-16 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. تحديث الترخيص . |
| تحديث Java SE 8 رقم 212 [ 208 ] | 2019-04-16 | ميزات جديدة (مثل 5 رموز للعملات، بما في ذلك البيتكوين و"اسم العصر الياباني الجديد ريوا " [ 208 ] )، تغييرات، إصلاحات للأخطاء. تحديث الترخيص . |
| تحديث Java SE 8 رقم 221 [ 209 ] | 2019-07-16 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. |
| Java SE 8 Update 231 [ 210 ] | 2019-10-15 | ميزات جديدة، تغييرات، إصلاحات للأخطاء و18 إصلاحًا أمنيًا. |
| تحديث Java SE 8 رقم 241 [ 211 ] | 2020-01-14 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. |
| تحديث Java SE 8 رقم 251 [ 212 ] | 2020-04-14 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. آخر إصدار تم إثبات عمله على نظام التشغيل ويندوز إكس بي بشكل غير رسمي. |
| Java SE 8 Update 261 [ 213 ] | 2020-07-14 | ميزات جديدة، تغييرات، 133 إصلاحًا للأخطاء. [ 214 ] |
| تحديث Java SE 8 رقم 271 [ 215 ] | 2020-10-20 | ميزات جديدة، تغييرات، 65 إصلاحًا للأخطاء. [ 216 ] |
| تحديث Java SE 8 رقم 281 [ 217 ] | 2021-01-19 | ميزات جديدة، تغييرات، 33 إصلاحًا للأخطاء. [ 218 ] |
| Java SE 8 Update 291 [ 219 ] | 2021-04-20 | ميزات جديدة، تغييرات، 28 إصلاحًا للأخطاء. [ 220 ] |
| تحديث Java SE 8 رقم 301 [ 221 ] | 2021-07-20 | ميزات جديدة، تغييرات، 90 إصلاحًا للأخطاء. [ 222 ] |
| Java SE 8 Update 311 [ 223 ] | 2021-10-19 | ميزات جديدة، تغييرات، 52 إصلاحًا للأخطاء. [ 224 ] |
| Java SE 8 Update 321 [ 225 ] | 2022-01-18 | ميزات جديدة، تغييرات، 62 إصلاحًا للأخطاء. [ 226 ] |
| Java SE 8 Update 331 [ 227 ] | 2022-04-19 | ميزات جديدة، تغييرات، 37 إصلاحًا للأخطاء. [ 228 ] |
| Java SE 8 Update 333 [ 229 ] | 2022-05-02 | تحديث يتضمن تغييرًا واحدًا وإصلاحين للأخطاء. [ 230 ] |
| Java SE 8 Update 341 [ 231 ] | 2022-07-19 | ميزات جديدة، تغييرات، 42 إصلاحًا للأخطاء. [ 232 ] |
| Java SE 8 Update 351 [ 233 ] | 2022-10-18 | ميزات جديدة، تغييرات، 95 إصلاحًا للأخطاء. [ 234 ] |
| Java SE 8 Update 361 [ 235 ] | 2023-01-17 | ميزات جديدة، تغييرات، إصلاحات للأخطاء. |
| Java SE 8 Update 371 [ 236 ] | 2023-04-18 | |
| Java SE 8 Update 381 [ 237 ] | 2023-07-18 | تحديثات الأمان |
| Java SE 8 Update 391 [ 238 ] | 2023-10-17 | |
| تحديث Java SE 8 رقم 401 [ 239 ] | 2024-01-16 | |
| تحديث Java SE 8 رقم 411 [ 240 ] | 2024-04-16 | تحديث بيانات المنطقة الزمنية إلى IANA TZ Data 2024a، ميزات جديدة، تغييرات، تحديثات لمكتبات الطرف الثالث، 37 إصلاحًا للأخطاء. [ 240 ] |
| تحديث Java SE 8 رقم 421 [ 241 ] | 2024-07-16 | |
| Java SE 8 Update 431 [ 242 ] | 2024-10-15 | |
| تحديث Java SE 8 رقم 441 [ 243 ] | 2025-01-21 | |
| تحديث Java SE 8 رقم 451 [ 244 ] | 2025-04-15 | |
| تحديث Java SE 8 رقم 461 [ 245 ] | 2025-07-15 | |
| Java SE 8 Update 471 [ 246 ] | 2025-10-21 | |
| تحديث Java SE 8 رقم 481 [ 247 ] | 2026-01-20 | |
| Java SE 8 Update 491 [ 248 ] | 2026-04-21 | |
جافا إس إي 9
أُتيحت Java SE 9 في 21 سبتمبر 2017 [ 249 ] نتيجةً لقبول اللجنة التنفيذية لجافا [ 250 ] المثير للجدل للتنفيذ الحالي لمشروع Jigsaw ، مما دفع أوراكل إلى معالجة بعض المشكلات والتحديات العالقة، وصقل بعض المسائل التقنية الهامة. وفي أواخر يونيو 2017، أعربت عملية مجتمع جافا عن إجماع شبه تام على مخطط نظام الوحدات المقترح. [ 251 ]
- JSR 376: نمذجة JDK ضمن مشروع Jigsaw ( نظام وحدات منصة Java ) [ 110 ]
- تمت إزالة JavaDB من JDK [ 252 ]
- JEP 193: مقابض المتغيرات ، تحدد وسيلة قياسية لاستدعاء ما يعادل
java.util.concurrent.atomicعملياتsun.misc.Unsafeمختلفة - JEP 213: مشروع طحن العملات ، السماح باستخدام @SafeVarargs في توابع النسخ الخاصة؛ السماح باستخدام المتغيرات النهائية فعليًا كموارد في عبارة try-with-resources؛ السماح باستخدام الماس مع الفئات المجهولة إذا كان نوع وسيط النوع المستنتج قابلًا للتحديد؛ استكمال إزالة الشرطة السفلية من مجموعة أسماء المعرفات القانونية، والتي بدأت في Java SE 8؛ دعم التوابع الخاصة في الواجهات
- JEP 222: jshell: واجهة سطر الأوامر Java Shell (حلقة القراءة والتقييم والطباعة) : JShell هي واجهة سطر أوامر REPL للغة Java. [ 253 ]
- JEP 254: أوتار مدمجة
- JEP 263: رسومات عالية الدقة: التحجيم والقياس التلقائي
- JEP 266: المزيد من تحديثات التزامن ، يتضمن تطبيق Java لـ Reactive Streams ، [ 254 ]
Flowبما في ذلك فئة جديدة [ 255 ] تتضمن الواجهات التي تم توفيرها سابقًا بواسطة Reactive Streams [ 256 ] - JEP 268: كتالوجات XML
- JEP 282: jlink: أداة ربط جافا ، وهي أداة لإنشاء مجموعة من الوحدات النمطية وتوابعها وتحسينها في صورة وقت تشغيل مخصصة. تسمح هذه الأداة فعليًا بإنتاج ملف تنفيذي قابل للاستخدام بالكامل، بما في ذلك JVM لتشغيله.
- JEP 295: تجميع مسبق ، تم توفير التجميع المسبق بواسطة GraalVM
تم إصدار أول نسخة تجريبية من Java 9 في 9 أغسطس 2017. [ 257 ] أما أول إصدار مستقر من Java 9 فقد صدر في 21 سبتمبر 2017. [ 258 ]
تاريخ
في مؤتمر JavaOne 2011، ناقشت شركة أوراكل الميزات التي كانت تأمل في إطلاقها لإصدار Java 9 في عام 2016. [ 259 ] كان من المفترض أن يتضمن Java 9 دعمًا أفضل للذاكرة الضخمة (مكدسات متعددة الجيجابايت)، وتكاملًا أفضل للتعليمات البرمجية الأصلية، وجامع قمامة افتراضي مختلف ( G1 ، لتحقيق "أوقات استجابة أقصر") [ 260 ] ، وآلة جافا افتراضية ذاتية الضبط . [ 261 ] في أوائل عام 2016، أُعيد جدولة إصدار Java 9 إلى مارس 2017 [ 262 ] ، ثم أُجِّل مرة أخرى لأربعة أشهر أخرى إلى يوليو 2017. [ 263 ]
تحديثات جافا 9
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 9 [ 264 ] | 2017-09-21 | الإصدار الأولي |
| Java SE 9.0.1 [ 265 ] | 2017-10-17 | ميزات جديدة
المشاكل المعروفة
التغييرات
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 9.0.4 [ 267 ] | 2018-01-16 | ميزات جديدة
التغييرات
إصلاحات الأخطاء
|
جافا إس إي 10
صدرت النسخة العاشرة من OpenJDK في 20 مارس 2018، مع تأكيد إضافة اثنتي عشرة ميزة جديدة. [ 269 ] ومن بين هذه الميزات:
- JEP 286: استنتاج نوع المتغير المحلي
- JEP 296: دمج غابة JDK في مستودع واحد
- JEP 304: واجهة جامع البيانات المهملة
- JEP 307: جامع البيانات المهملة الكامل المتوازي لـ G1
- JEP 310: فئة التطبيق - مشاركة البيانات
- JEP 312: المصافحات المحلية للخيط
- JEP 313: إزالة أداة إنشاء الرؤوس الأصلية (javah)
- JEP 314: امتدادات إضافية لعلامات لغة يونيكود
- JEP 316: تخصيص الذاكرة على أجهزة الذاكرة البديلة
- JEP 317: مُترجم JIT تجريبي قائم على لغة جافا
- JEP 319: شهادات الجذر
- JEP 322: إصدار الإصدارات بناءً على الوقت
يسمح أول هذه التعديلات، وهو JEP 286 استنتاج نوع المتغير المحلي ، varباستخدام الكلمة المفتاحية للمتغيرات المحلية التي يتم حساب نوعها الفعلي بواسطة المُصرّف. وبفضل هذا التغيير، يمكن للمطورين القيام بما يلي بدلاً من تحديد نوع المتغير يدويًا:
var list = new ArrayList <String> ( ); // يستنتج ArrayList<String> var stream = list.stream ( ); // يستنتج Stream <String>تحديثات جافا 10
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 10 [ 270 ] | 2018-03-20 | الإصدار الأولي |
| Java SE 10.0.1 [ 271 ] | 2018-04-17 | ميزات جديدة
التغييرات
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 10.0.2 [ 273 ] | 2018-07-17 | التغييرات
إصلاحات الأخطاء
|
Java SE 11 (LTS)
صدرت JDK 11 في 25 سبتمبر 2018، وهي متاحة حاليًا لإصلاح الأخطاء. توفر هذه النسخة دعمًا طويل الأمد (LTS ). من بين الميزات الجديدة، تتضمن Java 11 عددًا من الميزات، مثل: [ 275 ]
- JEP 181: التحكم في الوصول القائم على Nest
- JEP 309: ثوابت ملفات الفئات الديناميكية
- JEP 315: تحسين جوهرية Aarch64
- JEP 318: إبسيلون: جامع قمامة لا يعمل
- JEP 320: إزالة وحدات Java EE و CORBA
- JEP 321: عميل HTTP (قياسي)
- JEP 323: صيغة المتغيرات المحلية لمعاملات لامدا
- JEP 324: اتفاقية رئيسية مع Curve25519 و Curve448
- JEP 327: Unicode 10
- JEP 328: مسجل الرحلة
- JEP 329: خوارزميات التشفير ChaCha20 و Poly1305
- JEP 330: تشغيل برامج ذات ملف مصدر واحد
- JEP 331: تشكيل أكوام ذات تكاليف علوية منخفضة
- JEP 332: أمان طبقة النقل (TLS) 1.3
- JEP 333: ZGC: جامع قمامة قابل للتوسع ومنخفض زمن الاستجابة (تجريبي)
- JEP 335: إهمال محرك Nashorn JavaScript
- JEP 336: إيقاف استخدام أدوات Pack200 وواجهة برمجة التطبيقات (API)
تم حذف عدد من الميزات من الإصدارات السابقة؛ وعلى وجه الخصوص، لم تعد تطبيقات جافا المصغرة وجافا ويب ستارت متاحة. كما تمت إزالة وحدات JavaFX و Java EE و CORBA من JDK. [ 276 ]
تحديثات Java 11
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 11 [ 277 ] | 2018-09-25 | الإصدار الأولي |
| Java SE 11.0.1 [ 278 ] | 2018-10-16 | التغييرات
إصلاحات الأخطاء
|
| Java SE 11.0.2 [ 280 ] | 2019-01-15 | المشاكل المعروفة
التغييرات
إصلاحات الأخطاء
|
| Java SE 11.0.3 [ 282 ] | 2019-04-16 | ميزات جديدة
المشاكل المعروفة
التغييرات
إصلاحات الأخطاء
|
| Java SE 11.0.4 [ 284 ] | 2019-07-16 | ميزات جديدة
الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.5 [ 286 ] | 2019-10-15 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.6 [ 288 ] | 2020-01-14 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.7 [ 290 ] | 2020-04-14 | ميزات جديدة
إصلاحات الأخطاء
|
| Java SE 11.0.8 [ 292 ] | 2020-07-14 | ميزات جديدة
الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.9 [ 294 ] | 2020-10-20 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.10 [ 296 ] | 2021-01-19 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.11 [ 298 ] | 2021-04-20 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.12 [ 300 ] | 2021-07-20 | ميزات جديدة
الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.13 [ 302 ] | 2021-10-19 | ميزات جديدة
الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.14 [ 304 ] | 2022-01-18 | ميزات جديدة
الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.15 [ 306 ] | 2022-04-19 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.16 [ 308 ] | 2022-07-19 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.16.1 [ 310 ] | 2022-08-18 | التغييرات
|
| Java SE 11.0.17 [ 311 ] | 2022-10-18 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.18 [ 313 ] | 2023-01-17 | ميزات جديدة
المشاكل المعروفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.19 [ 315 ] | 2023-04-18 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.20 [ 317 ] | 2023-07-18 | ميزات جديدة
المشاكل المعروفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.21 [ 319 ] | 2023-10-17 | ميزات جديدة
الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.22 [ 321 ] | 2024-01-16 | ميزات جديدة
المشاكل المعروفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 11.0.23 [ 323 ] | 2024-04-16 | |
| Java SE 11.0.24 [ 324 ] | 2024-07-16 | |
| Java SE 11.0.25 [ 325 ] | 2024-10-15 | |
| Java SE 11.0.26 [ 326 ] | 2025-01-21 | |
| Java SE 11.0.27 [ 327 ] | 2025-04-15 | |
| Java SE 11.0.28 [ 328 ] | 2025-07-15 | |
| Java SE 11.0.29 [ 329 ] | 2025-10-21 |
جافا إس إي 12
تم إصدار JDK 12 في 19 مارس 2019. ومن بين أمور أخرى، يتضمن Java 12 عددًا من الميزات الجديدة، مثل: [ 330 ]
- JEP 189: شيناندواه: جامع قمامة ذو وقت توقف منخفض (تجريبي)
- JEP 230: مجموعة أدوات القياس الدقيق
- JEP 325: تعابير التبديل (معاينة)
- JEP 334: واجهة برمجة تطبيقات ثوابت JVM
- JEP 340: منفذ واحد AArch64، وليس منفذين
- JEP 341: أرشيفات CDS الافتراضية
- JEP 344: مجموعات مختلطة قابلة للإلغاء لـ G1
- JEP 346: إعادة الذاكرة المخصصة غير المستخدمة من G1 على الفور
تُوسّع ميزة المعاينة JEP 325 نطاق switchالعبارة بحيث يمكن استخدامها أيضًا كتعبير، وتضيف شكلاً جديدًا لعلامة الحالة حيث يكون الجانب الأيمن تعبيرًا. لا حاجة لعبارة break. بالنسبة للتعبيرات المعقدة، yieldيمكن استخدام عبارة. أصبح هذا معيارًا في Java SE 14.
int ndays = switch ( month ) { case JAN , MAR , MAY , JUL , AUG , OCT , DEC -> 31 ; case APR , JUN , SEP , NOV -> 30 ; case FEB -> { if ( year % 400 == 0 ) yield 29 ; else if ( year % 100 == 0 ) yield 28 ; else if ( year % 4 == 0 ) yield 29 ; else yield 28 ; } };تحديثات Java 12
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 12 [ 331 ] | 19-03-2019 | الإصدار الأولي |
| Java SE 12.0.1 [ 332 ] | 2019-04-16 | المشاكل المعروفة
التغييرات
إصلاحات الأخطاء
|
| Java SE 12.0.2 [ 334 ] | 2019-07-16 | الميزات والخيارات المحذوفة
ملاحظات أخرى
|
جافا إس إي 13
تم إصدار JDK 13 في 17 سبتمبر 2019. يتضمن Java 13 الميزات الجديدة التالية، بالإضافة إلى "مئات التحسينات الصغيرة وآلاف إصلاحات الأخطاء". [ 336 ]
- JEP 350: أرشيفات CDS الديناميكية
- JEP 351: ZGC: إلغاء الالتزام بالذاكرة غير المستخدمة
- JEP 353: إعادة تنفيذ واجهة برمجة تطبيقات المقابس القديمة
- JEP 354: تعابير التبديل (معاينة)
- JEP 355: كتل نصية (معاينة)
يسمح برنامج JEP 355 Text Blocks باستخدام سلاسل نصية متعددة الأسطر:
String html = """ <html lang="en"> <body> <p>Hello, world</p> </body> </html> """ ;تحديثات Java 13
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 13 [ 337 ] | 2019-09-17 | الإصدار الأولي |
| Java SE 13.0.1 [ 338 ] | 2019-10-15 | ملاحظات أخرى
|
| Java SE 13.0.2 [ 339 ] | 2020-01-14 | ملاحظات أخرى
إصلاحات الأخطاء
|
جافا إس إي 14
تم إصدار JDK 14 في 17 مارس 2020. يتضمن Java 14 الميزات الجديدة التالية، بالإضافة إلى "مئات التحسينات الصغيرة وآلاف إصلاحات الأخطاء". [ 341 ]
- JEP 305: مطابقة الأنماط لـ instanceof (معاينة)
- JEP 343: أداة التغليف (الحاضنة)
- JEP 345: تخصيص الذاكرة المراعي لـ NUMA لـ G1
- JEP 349: بث مباشر لفعاليات JFR
- JEP 352: مخازن البايت غير المتطايرة
- JEP 358: استثناءات المؤشر الفارغ المفيدة
- JEP 359: تسجيلات (معاينة)
- JEP 361: تعابير التبديل (القياسية)
- JEP 362: إيقاف دعم منافذ Solaris و SPARC
- JEP 363: إزالة جامع القمامة الخاص بمسح العلامات المتزامن (CMS)
- JEP 364: ZGC على نظام macOS
- JEP 365: ZGC على نظام ويندوز
- JEP 366: إيقاف استخدام تركيبة ParallelScavenge + SerialOld GC
- JEP 367: إزالة أدوات Pack200 وواجهة برمجة التطبيقات (API)
- JEP 368: كتل نصية (معاينة ثانية)
- JEP 370: واجهة برمجة تطبيقات الوصول إلى الذاكرة الخارجية (حاضنة)
JEP 305، مطابقة الأنماط لـ instanceof يبسط الحالة الشائعة المتمثلة في instanceofاختبار يتبعه مباشرة تحويل، ويستبدل
إذا كان الكائن من نوع سلسلة نصية ، فسيتم تحويله إلى سلسلة نصية s ، ثم يتم طباعة طول السلسلة النصية s .مع
إذا كان ( obj instanceof String s ) { System.out.println ( s.length ( ) ) ; }تتيح سجلات JEP 359 إنشاء فئات بسيطة غير قابلة للتغيير تشبه فئات Tuple بسهولة . [ 342 ]
record Point ( int x , int y ) { } Point p = new Point ( 3 , 4 ); System . out . println ( p . x ());تحديثات Java 14
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 14 [ 343 ] | 2020-03-17 | الإصدار الأولي |
| Java SE 14.0.1 [ 344 ] | 2020-04-14 | إصلاحات الأخطاء
|
| Java SE 14.0.2 [ 346 ] | 2020-07-14 | الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
جافا إس إي 15
صدرت JDK 15 في 15 سبتمبر 2020. أضافت Java 15 دعمًا، على سبيل المثال، للنصوص النصية متعددة الأسطر (المعروفة أيضًا باسم كتل النصوص). أصبح جامعو البيانات المهملة Shenandoah وZ (يُختصر الأخير أحيانًا إلى ZGC) جاهزين للاستخدام في بيئات الإنتاج (أي لم يعودا مصنفين كإصدار تجريبي). تم إيقاف دعم نظام التشغيل Solaris من Oracle (ومعالجات SPARC) (مع أنه لا يزال متاحًا في Java 11، على سبيل المثال). تمت إزالة محرك JavaScript Nashorn. كما تمت إزالة بعض شهادات المرجع المصدق الجذر .
- JEP 339: خوارزمية التوقيع الرقمي لمنحنى إدواردز (EdDSA)
- JEP 360: فصول دراسية مغلقة (معاينة)
- JEP 371: الفئات الخفية
- JEP 372: إزالة محرك جافا سكريبت ناشورن
- JEP 373: إعادة تنفيذ واجهة برمجة تطبيقات DatagramSocket القديمة
- JEP 374: تعطيل وإلغاء القفل المتحيز
- JEP 375: مطابقة الأنماط لـ instanceof (معاينة ثانية)
- JEP 377: ZGC: جامع قمامة قابل للتوسع ومنخفض زمن الاستجابة
- JEP 378: كتل نصية
- JEP 379: شيناندواه: جامع قمامة ذو وقت توقف قصير
- JEP 381: إزالة منافذ Solaris و SPARC
- JEP 383: واجهة برمجة تطبيقات الوصول إلى الذاكرة الخارجية (الحاضنة الثانية)
- JEP 384: التسجيلات (معاينة ثانية)
- JEP 385: إيقاف تفعيل RMI تمهيدًا لإزالته
يُضيف JEP 360 Sealed Classes فئات وواجهات مُغلقة تُقيّد الفئات أو الواجهات الأخرى التي يُمكنها التوسع منها أو تنفيذها. ولا يُسمح إلا للفئات المُحددة في permitsبندٍ ما بالتوسع من الفئة أو الواجهة.
package com.example.geometry ;فئة عامة مجردة مغلقة تُسمى Shape تسمح بـ Circle و Rectangle و Square {...}إلى جانب السجلات، تُعدّ الفئات المغلقة أنواعًا جمعية . وهي تعمل بكفاءة مع ميزات حديثة أخرى مثل السجلات، وتعبيرات التبديل، ومطابقة الأنماط لـ instance-of. وتشكل جميعها جزءًا من نظام "مطابقة الأنماط في جافا" الذي ناقشه جافين بيرمان وبرايان غوتز لأول مرة في سبتمبر 2018. [ 348 ]
تحديثات Java 15
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 15 [ 349 ] | 2020-09-15 | الإصدار الأولي |
| Java SE 15.0.1 [ 350 ] | 2020-10-20 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 15.0.2 [ 352 ] | 2021-01-19 | ملاحظات أخرى
إصلاحات الأخطاء
|
جافا إس إي 16
صدرت JDK 16 في 16 مارس 2021. أزالت Java 16 خيارات الترجمة المسبقة (و Graal JIT ). [ 354 ] كانت ولا تزال برمجة Java مكتوبة بلغة C++ ، بينما في Java 16، يُسمح باستخدام C++14 الأحدث (ولكن ليس C++17 أو C++20 ). كما نُقل الكود إلى GitHub ، مما أدى إلى الاستغناء عن Mercurial كنظام للتحكم في المصدر .
- JEP 338: واجهة برمجة تطبيقات المتجهات (الحاضنة)
- JEP 347: تفعيل ميزات لغة C++14
- JEP 357: الانتقال من Mercurial إلى Git
- JEP 369: الانتقال إلى GitHub
- JEP 376: ZGC: معالجة متزامنة للخيوط والمكدس
- JEP 380: قنوات مقابس نطاق يونكس
- JEP 386: منفذ Alpine Linux — غير مستقر بعد
- JEP 387: الفضاء الفوقي المرن
- JEP 388: منفذ ويندوز/AArch64
- JEP 389: واجهة برمجة التطبيقات للرابط الأجنبي (الحاضنة)
- JEP 390: تحذيرات بشأن الفئات القائمة على القيم
- JEP 392: أداة التعبئة والتغليف
- JEP 393: واجهة برمجة تطبيقات الوصول إلى الذاكرة الخارجية (الحاضنة الثالثة)
- JEP 394: مطابقة الأنماط لـ instanceof
- JEP 395: سجلات
- JEP 396: تغليف مكونات JDK الداخلية بشكل قوي افتراضيًا
- JEP 397: فصول دراسية مغلقة (معاينة ثانية)
تحديثات Java 16
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 16 [ 355 ] | 2021-03-16 | الإصدار الأولي |
| Java SE 16.0.1 [ 356 ] | 2021-04-20 | ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 16.0.2 [ 358 ] | 2021-07-20 | الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
Java SE 17 (LTS)
تم إصدار JDK 17 في سبتمبر 2021. [ 360 ] Java 17 هو الإصدار الثاني ذو الدعم طويل الأمد (LTS) منذ التحول إلى وتيرة الإصدار الجديدة كل 6 أشهر (كان الإصدار الأول هو Java 11).
- JEP 306: استعادة دلالات الفاصلة العائمة الصارمة دائمًا
- JEP 356: مولدات الأرقام شبه العشوائية المحسّنة
- JEP 382: مسار عرض جديد لنظام macOS
- JEP 391: منفذ macOS/AArch64
- JEP 398: إيقاف واجهة برمجة تطبيقات التطبيقات المصغرة تمهيدًا لإزالتها
- JEP 403: تغليف مكونات JDK الداخلية بشكل قوي
- JEP 406: مطابقة الأنماط للمفاتيح (معاينة)
- JEP 407: إزالة تفعيل RMI
- JEP 409: فصول دراسية مغلقة
- JEP 410: إزالة مُجمِّع AOT وJIT التجريبي
- JEP 411: إيقاف مدير الأمان تمهيداً لإزالته
- JEP 412: واجهة برمجة تطبيقات الوظائف الخارجية والذاكرة (حاضنة)
- JEP 414: واجهة برمجة تطبيقات المتجهات (الحاضنة الثانية)
- JEP 415: مرشحات إلغاء التسلسل الخاصة بالسياق
يُوسّع JEP 406 صيغة مطابقة الأنماط المستخدمة في عمليات instanceof لتشمل عبارات وتعبيرات switch. كما يسمح بتحديد الحالات بناءً على نوع الوسيط، والحالات الفارغة، وتحسين الأنماط.
Object o = ...; return switch ( o ) { case null -> "Null" ; case String s -> "String %s" . formatted ( s ); case Long l -> "long %d" . formatted ( l ); case Double d -> "double %f" . formatted ( d ); case Integer i && i > 0 // تحسين الأنماط -> "positive int %d" . formatted ( i ); case Integer i && i == 0 -> "zero int %d" . formatted ( i ); case Integer i && i < 0 -> "negative int %d" . formatted ( i ); default -> o . toString (); };تحديثات Java 17
| يطلق | تاريخ الافراج عنه | أبرز النقاط |
|---|---|---|
| Java SE 17 [ 361 ] | 2021-09-14 | الإصدار الأولي |
| Java SE 17.0.1 [ 362 ] | 2021-10-19 | الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 17.0.2 [ 364 ] | 2022-01-18 | الميزات والخيارات المحذوفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 17.0.3 [ 366 ] | 2022-04-19 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 17.0.3.1 [ 368 ] | 2022-05-02 | التغييرات
إصلاحات الأخطاء
|
| Java SE 17.0.4 [ 370 ] | 2022-07-19 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 17.0.4.1 [ 372 ] | 2022-08-18 | التغييرات
|
| Java SE 17.0.5 [ 373 ] | 2022-10-18 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 17.0.6 [ 375 ] | 2023-01-17 | ميزات جديدة
المشاكل المعروفة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 17.0.7 [ 377 ] | 2023-04-18 | ميزات جديدة
ملاحظات أخرى
إصلاحات الأخطاء
|
| Java SE 17.0.8 [ 379 ] | 2023-07-18 | ميزات جديدة
Known issues
Other notes
Bug fixes
|
| Java SE 17.0.9[381] | 2023-10-17 | New features
Removed features and options
Other notes
Bug fixes
|
| Java SE 17.0.10[383] | 2024-01-16 | New features
Known issues
Other notes
Bug fixes
|
| Java SE 17.0.11[385] | 2024-04-16 | |
| Java SE 17.0.12[386] | 2024-07-16 | |
| Java SE 17.0.13[387] | 2024-10-15 | |
| Java SE 17.0.14[388] | 2025-01-21 | |
| Java SE 17.0.15[389] | 2025-04-15 | |
| Java SE 17.0.16[390] | 2025-07-15 | |
| Java SE 17.0.17[391] | 2025-10-21 |
Java SE 18
JDK 18 was released on March 22, 2022.[392]
- JEP 400: UTF-8 by Default
- JEP 408: Simple Web Server
- JEP 413: Code Snippets in Java API Documentation
- JEP 416: Reimplement Core Reflection with Method Handles
- JEP 417: Vector API (Third Incubator)
- JEP 418: Internet-Address Resolution SPI
- JEP 419: Foreign Function & Memory API (Second Incubator)
- JEP 420: Pattern Matching for switch (Second Preview)
- JEP 421: Deprecate Finalization for Removal
Java 18 updates
| Release | Release date | Highlights |
|---|---|---|
| Java SE 18[393] | 2022-03-22 | Initial release |
| Java SE 18.0.1[394] | 2022-04-19 | New features
Other notes
Bug fixes
|
| Java SE 18.0.1.1[396] | 2022-05-02 | core-libs/java.io
Bug fixes
|
| Java SE 18.0.2[398] | 2022-07-19 | Removed features and options
Other notes
Bug fixes
|
| Java SE 18.0.2.1[400] | 2022-08-18 | Changes
|
Java SE 19
JDK 19 was released on 20 September 2022.[401]
- JEP 405: Record Patterns (Preview)
- JEP 422: Linux/RISC-V Port
- JEP 424: Foreign Function & Memory API (Preview)
- JEP 425: Virtual Threads (Preview)
- JEP 426: Vector API (Fourth Incubator)
- JEP 427: Pattern Matching for switch (Third Preview)
- JEP 428: Structured Concurrency (Incubator)
JEP 405 allows record patterns, extending the pattern matching capabilities of instanceof operators, and switch expressions, to include record patterns that explicitly refer to the components of the record.
recordRectangle(intx,inty,intw,inth){}intarea(Objecto){if(oinstanceofRectangle(intx,inty,intw,inth)){returnw*h;}return0;}Such patterns can include nested patterns, where the components of records are themselves records, allowing patterns to match more object graphs.
Java 19 updates
| Release | Release date | Highlights |
|---|---|---|
| Java SE 19[402] | 2022-09-20 | Initial release |
| Java SE 19.0.1[403] | 2022-10-18 | Other notes
Bug fixes
|
| Java SE 19.0.2[405] | 2023-01-17 | New features
Other notes
Bug fixes
|
Java SE 20
Java 20 was released on 21 March 2023.[407] All JEPs were either incubators or previews.
- JEP 429: Scoped Values (Incubator)
- JEP 432: Record Patterns (Second Preview)
- JEP 433: Pattern Matching for switch (Fourth Preview)
- JEP 434: Foreign Function & Memory API (Second Preview)
- JEP 436: Virtual Threads (Second Preview)
- JEP 437: Structured Concurrency (Second Incubator)
- JEP 438: Vector API (Fifth Incubator)
Java 20 updates
| Release | Release date | Highlights |
|---|---|---|
| Java SE 20[408] | 2023-03-21 | Initial release |
| Java SE 20.0.1[409] | 2023-04-18 | Other notes
Bug fixes
|
| Java SE 20.0.2[411] | 2023-07-18 | New features
Known issues
Other notes
Bug fixes
|
Java SE 21 (LTS)
Java 21 was released on 19 September 2023.[413] The 32-bit version of Java for Windows on x86 was deprecated for removal with this release. The following JEPs were added, including eight JEPs that graduated from the incubating and preview stages, compared to Java 20 which only had previewing and incubating JEPs. Java 21 introduces features first previewed in Java 17 (pattern matching for switch statements) and Java 19 (record patterns). All JEPs added with Java 21 include the following:
- JEP 430: String Templates (Preview)
- JEP 431: Sequenced Collections
- JEP 439: Generational ZGC
- JEP 440: Record Patterns
- JEP 441: Pattern Matching for switch
- JEP 442: Foreign Function & Memory API (Third Preview)
- JEP 443: Unnamed Patterns and Variables (Preview)
- JEP 444: Virtual Threads
- JEP 445: Unnamed Classes and Instance Main Methods (Preview)
- JEP 446: Scoped Values (Preview)
- JEP 448: Vector API (Sixth Incubator)
- JEP 449: Deprecate the Windows 32-bit x86 Port for Removal
- JEP 451: Prepare to Disallow the Dynamic Loading of Agents
- JEP 452: Key Encapsulation Mechanism API
- JEP 453: Structured Concurrency (Preview)
JEP 445, previewing unnamed classes, allows for a barebones Main class without boilerplate code:
voidmain(){System.out.println("Hello, World!");}instead of :
publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello, World!");}}Java 21 updates
| Release | Release date | Highlights |
|---|---|---|
| Java SE 21[414] | 2023-09-19 | Initial release |
| Java SE 21.0.1[415] | 2023-10-17 | Other notes
Bug fixes
|
| Java SE 21.0.2[417] | 2024-01-16 | New features
Known issues
Issues fixed
Other notes
Bug fixes
|
| Java SE 21.0.3[419] | 2024-04-16 | New features
Known issues
Other notes
Updates to Third Party Libraries
Bug fixes
|
| Java SE 21.0.4[421] | 2024-07-16 | |
| Java SE 21.0.5[422] | 2024-10-15 | |
| Java SE 21.0.6[423] | 2025-01-21 | |
| Java SE 21.0.7[424] | 2025-04-15 | |
| Java SE 21.0.8[425] | 2025-07-25 | |
| Java SE 21.0.9[426] | 2025-10-21 |
Java SE 22
Java 22 was released on 19 March 2024.[427][428] The following features, or JEPs, were added with this release:
- JEP 423: Region Pinning for G1
- JEP 447: Statements before super(...) (Preview)
- JEP 454: Foreign Function & Memory API
- JEP 456: Unnamed Variables & Patterns
- JEP 457: Class-File API (Preview)
- JEP 458: Launch Multi-File Source-Code Programs
- JEP 459: String Templates (Second Preview)
- JEP 460: Vector API (Seventh Incubator)
- JEP 461: Stream Gatherers (Preview)
- JEP 462: Structured Concurrency (Second Preview)
- JEP 463: Implicitly Declared Classes and Instance Main Methods (Second Preview)
- JEP 464: Scoped Values (Second Preview)
An API related to Java's threading implementation, java.lang.Thread.countStackFrames, was removed.[3][429]
Java SE 23
Java 23 was released on 17 September 2024,[430][431][432] with the following JEPs:
- JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
- JEP 466: Class-File API (Second Preview)
- JEP 467: Markdown Documentation Comments
- JEP 469: Vector API (Eighth Incubator)
- JEP 473: Stream Gatherers (Second Preview)
- JEP 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal
- JEP 474: ZGC: Generational Mode by Default
- JEP 476: Module Import Declarations (Preview)
- JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)
- JEP 480: Structured Concurrency (Third Preview)
- JEP 481: Scoped Values (Third Preview)
- JEP 482: Flexible Constructor Bodies (Second Preview)
The String Templates preview feature was removed in Java 23 due to issues with the design of the feature.[433]
Java SE 24
The specification for Java 24 was finalized in December 2024, with 24 JEPs making it into the release and it was released on 18 March 2025.[434]
The following JEPs were targeted to this version of Java SE:[435]
- JEP 404: Generational Shenandoah (Experimental)
- JEP 450: Compact Object Headers (Experimental) (formerly known as Project Lilliput)
- JEP 472: Prepare to Restrict the Use of JNI
- JEP 475: Late Barrier Expansion for G1
- JEP 478: Key Derivation Function API (Preview)
- JEP 479: Remove the Windows 32-bit x86 Port
- JEP 483: Ahead-of-Time Class Loading & Linking
- JEP 484: Class-File API
- JEP 485: Stream Gatherers
- JEP 486: Permanently Disable the Security Manager
- JEP 487: Scoped Values (Fourth Preview)
- JEP 488: Primitive Types in Patterns, instanceof, and switch (Second Preview)
- JEP 489: Vector API (Ninth Incubator)
- JEP 490: ZGC: Remove the Non-Generational Mode
- JEP 491: Synchronize Virtual Threads without Pinning
- JEP 492: Flexible Constructor Bodies (Third Preview)
- JEP 493: Linking Run-Time Images without JMODs
- JEP 494: Module Import Declarations (Second Preview)
- JEP 495: Simple Source Files and Instance Main Methods (Fourth Preview)
- JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism
- JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm
- JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe
- JEP 499: Structured Concurrency (Fourth Preview)
- JEP 501: Deprecate the 32-bit x86 Port for Removal
Java SE 24 is the last release of Java to officially support the 32-bit x86 edition of Microsoft Windows 10.
Java SE 25 (LTS)
The specification for Java 25 was finalized in July 2025, with 18 JEPs making it into the release.[436] Java 25 was released on September 16, 2025.[437]
- JEP 470: PEM Encodings of Cryptographic Objects (Preview)
- JEP 502: Stable Values (Preview)
- JEP 503: Remove the 32-bit x86 Port
- JEP 505: Structured Concurrency (Fifth Preview)
- JEP 506: Scoped Values
- JEP 507: Primitive Types in Patterns, instanceof, and switch (Third Preview)
- JEP 508: Vector API (Tenth Incubator)
- JEP 509: JFR CPU-Time Profiling (Experimental)
- JEP 510: Key Derivation Function API
- JEP 511: Module Import Declarations
- JEP 512: Compact Source Files and Instance Main Methods
- JEP 513: Flexible Constructor Bodies
- JEP 514: Ahead-of-Time Command-Line Ergonomics
- JEP 515: Ahead-of-Time Method Profiling
- JEP 518: JFR Cooperative Sampling
- JEP 519: Compact Object Headers
- JEP 520: JFR Method Timing & Tracing
- JEP 521: Generational Shenandoah
Java SE 26
The specification for Java 26 was finalized in December 2025, with 10 JEPs making it into the release.[438] Java 26 was released on March 17, 2026.[439]
The following JEPs were targeted to this release of Java SE:
- JEP 500: Prepare to Make Final Mean Final
- JEP 504: Remove the Applet API
- JEP 516: Ahead-of-Time Object Caching with Any GC
- JEP 517: HTTP/3 for the HTTP Client API
- JEP 522: G1 GC: Improve Throughput by Reducing Synchronization
- JEP 524: PEM Encodings of Cryptographic Objects (Second Preview)
- JEP 525: Structured Concurrency (Sixth Preview)
- JEP 526: Lazy Constants (Second Preview)
- JEP 529: Vector API (Eleventh Incubator)
- JEP 530: Primitive Types in Patterns, instanceof, and switch (Fourth Preview)
Java 26 removes support for creating Java applets with the Applet API, after having been deprecated since the release of Java 17 in September 2021.
Future features
- Project Valhalla: Value classes, whose objects lack identity, but can in certain cases get an improved memory layout (with less indirection), or have their allocation optimized away entirely.
- Project Panama:
- Improved interoperability with native code, to enable Java source code to call functions and use data types from other languages, in a way that is easier and has better performance than today (this part of Project Panama is getting stabilized in Java 22 under JEP 454: Foreign Function & Memory API).
- Vector API, a portable and relatively low-level abstraction layer for SIMD programming. Its stabilization is dependent on Project Valhalla.
- Project Lilliput: Reduce the size of Java object headers. First down to 64 bits, and then down to 32 bits.
- Reducing startup time and warm-up time (time to peak performance) in JIT mode:
- Project CRaC enables making snapshots of whole JVM (together with the running application) and restoring it with necessary adjustments (reopening files, sockets, etc).
- Project Leyden, among other things, will allow partial or (in the long term) full AOT compiling, reducing overall dynamism (by adopting so called "closed-world constraints") to reduce dynamic compiling overhead.
- Project Babylon aims to extend the Java language's reach to alternative programming models with an enhancement to its reflective programming abilities, called code reflection (i.e., reflection over code itself). The stated main goal is to run Java code on GPUs, with SQL and other programming models as secondary targets.
Implementations
The officially supported Java platform, first developed at Sun and now stewarded by Oracle, is Java SE. Releases are based on the OpenJDK project, a free and open-source project with an open development model. Other Java implementations exist, however—in part due to Java's early history as proprietary software. In contrast, some implementations were created to offer some benefits over the standard implementation, often the result of some area of academic or corporate-sponsored research. Many Linux distributions include builds of OpenJDK through the IcedTea project started by Red Hat, which provides a more straightforward build and integration environment.
Visual J++ and the Microsoft Java Virtual Machine were created as incompatible implementations. After the Sun v. Microsoft lawsuit, Microsoft abandoned it and began work on the .NET platform. In 2021, Microsoft started distributing compatible "Microsoft Build of OpenJDK" for Java 11 first then also for Java 17. Their builds support not only Windows, but also Linux and macOS.
Other proprietary Java implementations are available, such as Azul's Zing. Azul offers certified open source OpenJDK builds under the Zulu moniker.
Prior to the release of OpenJDK, while Sun's implementation was still proprietary, the GNU Classpath project was created to provide a free and open-source implementation of the Java platform. Since the release of JDK 7, when OpenJDK became the official reference implementation, the original motivation for the GNU Classpath project almost completely disappeared, and its last release was in 2012.
The Apache Harmony project was started shortly before the release of OpenJDK. After Sun's initial source code release, the Harmony project continued, working to provide an implementation under a lax license, in contrast to the protective license chosen for OpenJDK. Google later developed Android and released it under a lax license. Android incorporated parts of the Harmony project, supplemented with Google's own Dalvik virtual machine and ART. Apache Harmony has since been retired, and Google has switched its Harmony components with equivalent ones from OpenJDK.
Both Jikes and Jikes RVM are open-source research projects that IBM developed.
Several other implementations exist that started as proprietary software, but are now open source. IBM initially developed OpenJ9 as the proprietary J9,[440] but has since relicensed the project and donated it to the Eclipse Foundation. JRockit is a proprietary implementation that was acquired by Oracle and incorporated into subsequent OpenJDK versions.
Most commonly used implementations in 2025
Amazon developed Corretto,[441] a no-cost, multiplatform, production-ready distribution of OpenJDK with long-term support that includes performance enhancements and security fixes. Corretto is certified as compatible with the Java SE standard and is used internally at Amazon for many production services.
The Eclipse Temurin project,[442] formerly known as AdoptOpenJDK, provides prebuilt OpenJDK binaries from a fully open source build farm. The project transitioned to the Eclipse Foundation in 2021 as part of the Adoptium Working Group, which ensures high-quality, vendor-neutral Java runtime distributions.
BellSoft Liberica JDK[443] is another OpenJDK-based implementation that provides builds for a wide range of platforms, including support for embedded systems and older architectures. It offers both standard and "Full" versions that include additional components like JavaFX.
SAP Machine is SAP's downstream distribution of OpenJDK, optimized for SAP applications and deployments. It provides both short-term and long-term support releases aligned with OpenJDK's release schedule.
Alibaba Dragonwell[444] is a downstream version of OpenJDK with some in-house optimizations. It includes enhancements in startup performance, footprint, and throughput.
GraalVM[445] represents a significant departure from traditional Java implementations. Developed by Oracle Labs, it provides a polyglot virtual machine supporting multiple languages beyond Java, including JavaScript, Python, Ruby, and R. GraalVM includes an advanced just-in-time compiler written in Java and supports ahead-of-time compilation for creating native executables, substantially reducing startup time and memory footprint.
The Red Hat build of OpenJDK[446] is Red Hat's supported distribution of OpenJDK for Red Hat Enterprise Linux and Windows, providing long-term support and regular updates as part of Red Hat's subscription offerings.
The Semeru Runtime,[447] based on the Eclipse OpenJ9 JVM and OpenJDK class libraries, is IBM's no-cost Java runtime optimized for cloud deployments. It offers improved startup time, smaller memory footprint, and better throughput compared to HotSpot-based implementations.
References
- ↑Reinhold, Mark (2017-09-06). "Moving Java Forward Faster". Retrieved 2017-09-16.
- ↑"Calling 'all aboard' on the six-month Java release train". theserverside.com. 2017-09-12. Retrieved 2017-09-16.
- 12"Remove Thread.countStackFrames". bugs.openjdk.org. Retrieved 2024-04-16.
- 1234567891011"Oracle Java SE Support Roadmap". oracle.com.
- ↑Smith, Donald. "Introducing the Free Java License".
- ↑Reinhold, Mark (2018-08-17). "What does LTS mean for OpenJDK?". Retrieved 2018-08-28.
- ↑"OpenJDK JDK 25 General-Availability Release".
- ↑"Chapter 4. The class File Format".
- ↑"Java Virtual Machine 1.0.2 specification"(PDF).
- 123456789101112"Azul JDK roadmap".
- 1234567"Red Hat OpenJDK Life Cycle and Support Policy". 19 November 2023.
- ↑"Oracle Java SE 6 Support".
- 1234567"Liberica JDK roadmap".
- 12"IBM Java SDK lifecycle". IBM.
- ↑"Oracle Java SE 7 Support".
- 12345"IBM Semeru Runtimes lifecycle". IBM.
- 12345"Eclipse Temurin Release Roadmap".
- 12345"Amazon Corretto support calendar".
- 123"Support roadmap for the Microsoft Build of OpenJDK".
- ↑"JavaSoft ships Java 1.0" (Press release). Archived from the original on March 10, 2007. Retrieved 2008-02-05.
- 12Ortiz, C. Enrique; Giguère, Éric (2001). Mobile Information Device Profile for Java 2 Micro Edition: Developer's Guide. John Wiley & Sons. ISBN 978-0-471-03465-0. Retrieved May 30, 2012.
- ↑Version 1.1 press release, Sun.
- ↑Tennant, Don (March 15, 1997). "Taligent prepares internationalisation technology for the big time". Computerworld. IDG. Retrieved January 16, 2021.
- ↑Version 1.2 press release, Sun.
- ↑Version 1.3 press release, Sun.
- ↑"Version 1.3 full list of changes". Archived from the original on November 7, 2006.
- ↑"How do I run Java on a Windows 95 computer?".
- ↑Version 1.4 press release.
- ↑"Version full 1.4 list of changes". Archived from the original on January 8, 2007.
- 12"Java 2 Platform 5.0 and Java for Business 5.0". Oracle Corporation. 2010. Retrieved October 22, 2012.
- ↑"Version 1.5.0 or 5.0?". Oracle.
- ↑Version 1.5 press release.
- ↑Version 1.5 full list of changes.
- ↑"JSR 133, 2.4 Why isn't this need met by existing specifications?". Oracle.
- ↑Goetz, Brian (2006). Java Concurrency in Practice. Addison-Wesley. p. xvii. ISBN 0-321-34960-1.
- ↑"Java 5.0 is no longer available on Java.com". Java.com. 2009-11-03. Retrieved 2016-09-30.
- ↑Lineback, Nathan. "Misc Windows 2 – Nathan's Toasty Technology page". Retrieved 2016-09-30.
- ↑Yank, Kebin (May 3, 2005). "Java 5 available for Mac OS X". Sitepoint. Retrieved September 30, 2016.
- ↑"Version 1.5.0 or 5.0?". Oracle.com. Retrieved April 18, 2016.
- ↑Java brand naming.
- ↑Version 6, Java webnotes, Sun.
- ↑Version 1.6 press release.
- ↑Version 1.6 full list of changes.
- ↑Java Lobby.
- ↑"Mustang's HotSpot". Archived from the original on January 2, 2007.
- ↑Darcy, Joe (2008-08-03). "An apt replacement". Retrieved 2009-07-29.
- ↑"Install Java 6 on Mac OS X Leopard | Gephi, open source graph visualization software". Gephi.org. Retrieved 2016-09-30.
- ↑"Oracle Java SE Support Roadmap". Oracle Corporation. September 19, 2012. Retrieved October 22, 2012.
- ↑"Auto-update and update through Java Control Panel of JRE 6 will replace JRE 6 with JRE 7". Oracle Corporation. February 19, 2013. Retrieved March 2, 2013.
- ↑"Java SE Development Kit 6, Update 43 Release notes". Oracle Corporation. March 4, 2013. Retrieved March 4, 2013.
- ↑"Java SE Development Kit 6, Update 45 Release notes". Oracle Corporation. March 4, 2013. Retrieved March 4, 2013.
- ↑"Java SE 6 Update Release Notes". oracle.com.
- 123"Oracle Java Technologies | Oracle". oracle.com.
- ↑"Nimbus — Java.net". Retrieved 1 February 2020.
{{cite web}}: CS1 maint: deprecated archival service (link) - ↑"Sun Java 6 Update 11 Available Now, Waiting on JavaFX". FindMySoft.com. Retrieved 2009-11-13.
- ↑Humble, Charles (2008-05-13). "JavaOne: Garbage First". infoq.com. Retrieved 2008-09-07.
- ↑Coward, Dany (2008-11-12). "Java VM: Trying a new Garbage Collector for JDK 7". Archived from the original on 2011-12-08. Retrieved 2012-01-22.
- ↑"Breakpoints fail to hit under JDK 1.6.0_14". Retrieved 2009-07-14.
- ↑"Bug ID: 6862295 JDWP threadid changes during debugging session (leading to ignored breakpoints)". Retrieved 2009-07-22.
- ↑"Oracle Java SE Critical Patch Update Advisory – June 2011". oracle.com.
- ↑"Oracle Java SE Critical Patch Update Advisory – October 2011". oracle.com.
- ↑"Java 6 Update 32 fails to install..." MSFN. Archived from the original on 2016-08-16. Retrieved 2016-07-31.
- 12"Oracle Security Alert for CVE-2012-4681". Oracle Corporation.
- ↑"Oracle Java SE Critical Patch Update Advisory – April 2013". oracle.com.
- ↑"Why should I upgrade Java ?". java.com.
- 12"Oracle Java Critical Patch Update – June 2013". oracle.com.
- 12"Oracle Critical Patch Update – October 2013". oracle.com.
- 12"Oracle Critical Patch Update – April 2014". oracle.com.
- ↑"Oracle Critical Patch Update – July 2014". oracle.com.
- ↑"Oracle Critical Patch Update – October 2014". oracle.com.
- ↑"Java SE 6 Reference Implementation". Oracle Corporation. Retrieved 2016-10-24.
- ↑"Oracle Critical Patch Update Advisory – January 2015". oracle.com.
- ↑"Oracle Critical Patch Update – April 2015". oracle.com.
- ↑"Oracle Critical Patch Update Advisory – July 2015". Retrieved 2015-07-15.
- ↑"Oracle Critical Patch Update Advisory – October 2015". Retrieved 2015-10-20.
- ↑"Oracle Critical Patch Update Advisory – January 2016". Retrieved 2016-01-20.
- 12"Oracle Security Alert for CVE-2016-0603". Retrieved 2016-02-08.
- ↑"Oracle Critical Patch Update CVSS V2 Risk Matrices – April 2016". Retrieved 2016-04-21.
- 12"Oracle Critical Patch Update Advisory – July 2016". Retrieved 2016-07-19.
- 12"Oracle Critical Patch Update Advisory – October 2016". Retrieved 2016-10-18.
- 12"Oracle Critical Patch Update Advisory – January 2017". Retrieved 2017-01-17.
- ↑"Oracle Critical Patch Update Advisory – April 2017". Retrieved 2017-04-18.
- 12"Oracle Critical Patch Update Advisory – July 2017". Retrieved 2017-07-18.
- 12"Oracle Critical Patch Update Advisory – October 2017". Retrieved 2017-10-20.
- 12"Oracle Critical Patch Update Advisory – January 2018". Retrieved 2017-10-20.
- 12"Oracle Critical Patch Update Advisory – April 2018". Retrieved 2018-04-17.
- 12"Oracle Critical Patch Update Advisory – July 2018". Retrieved 2018-07-17.
- 12"Oracle Critical Patch Update Advisory – October 2018". Retrieved 2018-10-18.
- ↑JDK7Archived 2016-12-15 at the Wayback Machine, Sun.
- ↑"Introducing Java 7 Webcast: Moving Java Forward". Oracle Corporation. July 7, 2011. Retrieved May 30, 2012.
- 12"JDK 7". openjdk.java.net.
- ↑"JDK 7 Milestones". OpenJDK. Oracle Corporation. Retrieved May 30, 2012.
- ↑"JSR 292: Supporting Dynamically Typed Languages on the Java Platform". Retrieved August 25, 2013.
- ↑"Compressed oops in the Hotspot JVM". OpenJDK. Retrieved 2012-08-01.
- ↑"Java HotSpot VM Options". Oracle. Retrieved 2013-04-11.
- ↑"Java Programming Language Enhancements". Download.oracle.com. Retrieved 2013-01-15.
- ↑"Strings in switch Statements". Download.oracle.com. Retrieved 2013-01-15.
- ↑"The try-with-resources Statement". Download.oracle.com. Retrieved 2013-01-15.
- ↑"Type Inference for Generic Instance Creation". Download.oracle.com. Retrieved 2013-01-15.
- ↑"Improved Compiler Warnings When Using Non-Reifiable Formal Parameters with Varargs Methods". Download.oracle.com. Retrieved 2013-01-15.
- ↑"Binary Literals". Download.oracle.com. Retrieved 2013-01-15.
- ↑"Underscores in Numeric Literals". Download.oracle.com. Retrieved 2013-01-15.
- ↑"Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking". Download.oracle.com. Retrieved 2013-01-15.
- ↑"Concurrency JSR-166". Retrieved 2010-04-16.
- ↑"File I/O (Featuring NIO.2)". Java.sun.com. 2008-03-14. Retrieved 2013-01-15.
- ↑"Legacy File I/O Code". Java.sun.com. 2012-02-28. Retrieved 2013-01-15.
- ↑"JDK 7 Features". OpenJDK. 2011-07-28. Retrieved 2013-03-15.
- ↑"Introducing Deployment Rule Sets". Oracle. 2013-08-21. Retrieved 2019-01-22.
- ↑"JavaOne 2011 Keynote". Oracle. Archived from the original on 2011-10-26.
- 12"Project Jigsaw". OpenJDK."Java Module-System Requirements — DRAFT 12". Oracle.Krill, Paul (July 18, 2012). "Project Jigsaw delayed until Java 9". InfoWorld. Retrieved 2020-07-15.
- ↑"Java 7 Auto-Update and Java 6". Oracle.
- ↑Critical Patch Update table shows four dates per year
- ↑"End of Java 7 Public Updates".
After April 2015, Oracle will no longer post updates of Java SE 7 to its public download sites. Existing Java SE 7 downloads already posted as of April 2015 will remain accessible in the Java Archive on the Oracle Technology Network. Developers and end-users are encouraged to update to more recent Java SE versions that remain available for public download in order to continue receiving public updates and security enhancements. [..] July 2015: Updates for Java 7 are no longer available to the public. Oracle offers updates to Java 7 only for customers who have purchased Java support or have Oracle products that require Java 7.
- ↑"Oracle Java SE Support Roadmap". Oracle Corporation. 2014-12-19. Retrieved 2015-01-07.
- ↑"JDK 7 Release Notes". oracle.com.
- ↑"Oracle Java SE Critical Patch Update Advisory – February 2012". oracle.com.
- ↑"Oracle Java SE Critical Patch Update Advisory – June 2012". oracle.com.
- ↑"Java SE 7 Update 6 Released". Archived from the original on October 27, 2012.
- ↑"Oracle Java SE Critical Patch Update Advisory – October 2012". oracle.com.
- ↑"Oracle Security Alert for CVE-2013-0422". Oracle Corporation.
- ↑"Oracle Java SE Critical Patch Update Advisory – February 2013". oracle.com.
- ↑"Oracle releases fixes for 40 Java holes – The H Security: News and Features". h-online.com.
- ↑"Java SE Development Kit 7 Update 40 Bug Fixes". oracle.com.
- ↑"Oracle JDK 7u40 released – security features, hardfloat ARM, Java Mission Control and more". Archived from the original on October 2, 2013.
- ↑Oracle to patch Java, other products Tuesday, ZDNet,
- ↑"Oracle Critical Patch Update – January 2014". oracle.com.
- ↑"Java SE Development Kit 7 Update 55 Bug Fixes". oracle.com.
- ↑"Java Mission Control 5.3 Release Notes". oracle.com.
- ↑"Java SE Development Kit 7 Update 60 Bug Fixes". oracle.com.
- 12"Java CPU and PSU Releases Explained". oracle.com.
- ↑"Oracle Critical Patch Update Advisory – July 2015". oracle.com.
- ↑"Oracle Critical Patch Update Advisory – October 2015". oracle.com.
- ↑"Oracle Critical Patch Update – January 2016". www.oracle.com. Retrieved 2016-01-20.
- ↑"Java SE Development Kit 7, Update 99". Retrieved 2016-03-23.
- ↑"Oracle Critical Patch Update Advisory – April 2016". Retrieved 2016-04-18.
- ↑"Oracle Critical Patch Update Advisory – April 2017". Retrieved 2017-04-18.
- ↑"Oracle Critical Patch Update Advisory – January 2019". Retrieved 2019-04-18.
- ↑"Oracle Critical Patch Update Advisory – April 2019". Retrieved 2019-04-18.
- ↑"Oracle Critical Patch Update Advisory – July 2019". Retrieved 2020-01-07.
- ↑"Oracle Critical Patch Update Advisory – October 2019". Retrieved 2020-01-07.
- ↑"Oracle Critical Patch Update Advisory – January 2020". Retrieved 2021-04-22.
- ↑"Oracle Critical Patch Update Advisory – April 2020". Retrieved 2021-04-22.
- ↑"Oracle Critical Patch Update Advisory – July 2020". Retrieved 2021-04-22.
- ↑"Oracle Critical Patch Update Advisory – October 2020". Retrieved 2021-04-22.
- ↑"Oracle Critical Patch Update Advisory – January 2021". Retrieved 2021-04-22.
- ↑"Oracle Critical Patch Update Advisory – April 2021". Retrieved 2021-04-22.
- ↑"Release Notes for JDK 7 and JDK 7 Update Releases". Retrieved 2022-01-25.
- ↑"Release Notes for JDK 7 and JDK 7 Update Releases". Retrieved 2022-01-25.
- ↑"Release Notes for JDK 7 and JDK 7 Update Releases". Retrieved 2022-01-25.
- ↑"Proposed new schedule for Java 8". 2013-04-18. Retrieved 2013-04-19.
- ↑"JDK 8". OpenJDK. 2013-04-18. Retrieved 2014-01-28.
- ↑"JDK 8 features". OpenJDK. 2014-01-28. Retrieved 2014-01-28.
- ↑"JSR 337". Retrieved 2014-01-30.
- ↑"Java 7 Features". Sun Microsystems. 2010-02-09. Retrieved 2010-04-16.
- 12"Interface evolution via virtual extension methods"(PDF). Brian Goetz. 2011-07-20. Retrieved 2014-03-27.
- ↑"Lambda Expressions for the Java Programming Language". Brian Goetz. 2012-10-23. Retrieved 2014-03-27.
- ↑"The Java Tutorials: Default Methods". Oracle. Archived from the original on 2017-05-23. Retrieved 2014-03-27.
- ↑Gosling, James (2008-01-31). "Closures". Archived from the original on 2011-07-22. Retrieved 2008-03-09.
- ↑Reinhold, Mark (2009-11-28). "Closures for Java". Retrieved 2009-11-24.
- ↑Darcy, Joe. "Unsigned Integer Arithmetic API now in JDK 8". blogs.oracle.com.
- ↑"Oracle JDK 8 and JRE 8 Certified System Configurations". Oracle Corporation. Retrieved 2014-04-15.
- ↑Stahl, Henrik (2014-07-11). "Updated: The future of Java on Windows XP". Oracle Corporation. Archived from the original on 2014-11-11. Retrieved 2014-11-11.
JDK 8 is not supported on Windows XP. Early versions of JDK 8 had known issues with the installer on Windows XP that prevented it from installing without manual intervention. This was resolved in JDK 8 Update 25. The important point here is that we can no longer provide complete guarantees for Java on Windows XP, since the OS is no longer being updated by Microsoft. We strongly recommend that users upgrade to a newer version of Windows that is still supported by Microsoft in order to maintain a stable and secure environment.
- ↑Wieldt, Tori (October 27, 2014). "Java SE 8 on Java.com". blog.oracle.com. Archived from the original on November 29, 2014. Retrieved November 24, 2014.
- ↑"Oracle Java SE Support Roadmap". Retrieved 2021-02-17.
- ↑"Java SE Development Kit 8, Update 5 (JDK 8u5)". oracle.com. Retrieved 2014-04-28.
- ↑"Java SE Development Kit 8, Update 11 (JDK 8u11)". oracle.com. Retrieved 2014-07-16.
- ↑"18 security bug fixes". oracle.com. Retrieved 2014-07-16.
- ↑"Java SE Development Kit 8, Update 20 (JDK 8u20)". oracle.com. Retrieved 2014-08-27.
- ↑"Java SE Development Kit 8 Update 20 Bug Fixes". oracle.com.
- ↑"Java SE Development Kit 8, Update 25 (JDK 8u25)". oracle.com. Retrieved 2014-10-14.
- ↑"Java SE Development Kit 8, Update 31 (JDK 8u31)". oracle.com. Retrieved 2015-01-21.
- ↑"Java SE Development Kit 8, Update 40 (JDK 8u40)". oracle.com. Retrieved 2015-03-04.
- ↑"Java SE Development Kit 8 Update 40 Bug Fixes". oracle.com.
- ↑"Java SE Development Kit 8, Update 45 (JDK 8u45)". oracle.com. Retrieved 2015-04-15.
- ↑"Java SE Development Kit 8, Update 51 (JDK 8u51)". oracle.com. Retrieved 2015-07-14.
- ↑"Java SE Development Kit 8, Update 60 (JDK 8u60)". oracle.com. Retrieved 2015-08-18.
- ↑"Java SE Development Kit 8 Update 60 Bug Fixes". oracle.com.
- ↑"Java SE Development Kit 8, Update 65 (JDK 8u65)". oracle.com. Retrieved 2015-10-20.
- ↑"Java SE Development Kit 8, Update 66 Release Notes". oracle.com. Retrieved October 22, 2015.
- ↑"Java SE Development Kit 8, Update 71 Release Notes". oracle.com. Retrieved January 20, 2015.
- ↑"Java SE Development Kit 8 Update 71 Bug Fixes". oracle.com. Retrieved January 20, 2015.
- ↑"Java SE Development Kit 8, Update 72 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 73 Release Notes". oracle.com. Retrieved February 6, 2016.
- ↑"Java SE Development Kit 8, Update 74 Release Notes". oracle.com. Retrieved February 6, 2016.
- ↑"Java SE Development Kit 8, Update 77 Release Notes". oracle.com. Retrieved March 23, 2016.
- ↑"Java SE Development Kit 8, Update 91 Release Notes". oracle.com. Retrieved March 23, 2016.
- ↑"Java SE Development Kit 8, Update 92 Release Notes". Retrieved March 23, 2016.
- ↑"Java SE Development Kit 8, Update 101 Release Notes". Retrieved July 19, 2016.
- ↑"Java SE Development Kit 8, Update 102 Release Notes". Retrieved July 19, 2016.
- ↑"Java SE Development Kit 8, Update 111 Release Notes". Retrieved October 19, 2016.
- ↑"Java SE Development Kit 8, Update 112 Release Notes". Retrieved October 19, 2016.
- ↑"Java SE Development Kit 8, Update 121 Release Notes". Retrieved January 17, 2016.
- ↑"Java SE Development Kit 8, Update 131 Release Notes". oracle.com. Retrieved 2017-04-18.
- ↑"Java SE Development Kit 8, Update 141 Release Notes". oracle.com. Retrieved 2017-07-18.
- ↑"Java SE Development Kit 8, Update 144 Release Notes". oracle.com. Retrieved 2017-07-26.
- ↑"Java SE Development Kit 8, Update 151 Release Notes". oracle.com. Retrieved 2017-10-19.
- ↑"Java SE Development Kit 8, Update 152 Release Notes". oracle.com. Retrieved 2017-10-19.
- ↑"Java SE Development Kit 8, Update 161 Release Notes". oracle.com. Retrieved 2018-01-18.
- ↑"Java SE Development Kit 8, Update 162 Release Notes". oracle.com. Retrieved 2018-01-16.
- ↑"Java SE Development Kit 8, Update 171 Release Notes". oracle.com. Retrieved 2018-04-17.
- ↑"Java SE Development Kit 8, Update 172 Release Notes". oracle.com. Retrieved 2018-04-17.
- ↑"Java SE Development Kit 8, Update 181 Release Notes". oracle.com. Retrieved 2018-07-20.
- ↑"Java SE Development Kit 8, Update 191 Release Notes". oracle.com. Retrieved 2018-10-16.
- ↑"Java SE Development Kit 8, Update 192 Release Notes". oracle.com. Retrieved 2018-10-16.
- ↑"Java SE Development Kit 8, Update 201 Release Notes". oracle.com. Retrieved 2019-01-16.
- ↑"Java SE Development Kit 8, Update 202 Release Notes". oracle.com. Retrieved 2019-01-16.
- ↑"Java SE Development Kit 8, Update 211 Release Notes". oracle.com. Retrieved 2019-04-16.
- 12"Java SE Development Kit 8, Update 212 Release Notes". oracle.com. Retrieved 2019-04-16.
- ↑"Java SE Development Kit 8, Update 221 Release Notes". oracle.com. Retrieved 2019-07-30.
- ↑"Java SE Development Kit 8, Update 231 Release Notes". oracle.com. Retrieved 2019-10-16.
- ↑"Java SE Development Kit 8, Update 241 Release Notes". oracle.com. Retrieved 2020-01-18.
- ↑"Java SE Development Kit 8, Update 251 Release Notes". oracle.com. Retrieved 2020-04-14.
- ↑"Java SE Development Kit 8, Update 261 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"JDK 8u261 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 271 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"JDK 8u271 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 281 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"JDK 8u281 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 291 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"JDK 8u291 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 301 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"JDK 8u301 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 311 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"JDK 8u311 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 321 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 321 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 331 Release Notes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 331 Bug Fixes". oracle.com. Retrieved 2022-04-19.
- ↑"Java SE Development Kit 8, Update 333 Release Notes". oracle.com. Retrieved 2022-05-02.
- ↑"Java SE Development Kit 8, Update 333 Bug Fixes". oracle.com. Retrieved 2022-05-02.
- ↑"Java SE Development Kit 8, Update 341 Release Notes". oracle.com. Retrieved 2022-07-30.
- ↑"Java SE Development Kit 8, Update 341 Bug Fixes". oracle.com. Retrieved 2022-07-30.
- ↑"Java SE Development Kit 8, Update 351 Release Notes". oracle.com. Retrieved 2022-10-18.
- ↑"Java SE Development Kit 8, Update 351 Bug Fixes". oracle.com. Retrieved 2022-10-18.
- ↑"Java SE Development Kit 8, Update 361 Release Notes". oracle.com. Retrieved 2023-03-24.
- ↑"Java SE Development Kit 8, Update 371 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 381 Release Notes". oracle.com. Retrieved 2023-09-12.
- ↑"Java SE Development Kit 8, Update 391 Release Notes". oracle.com. Retrieved 2023-11-15.
- ↑"Java SE Development Kit 8, Update 401 Release Notes". oracle.com.
- 12"Java SE Development Kit 8, Update 411 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 421 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 431 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 441 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 451 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 461 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 471 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 481 Release Notes". oracle.com.
- ↑"Java SE Development Kit 8, Update 491 Release Notes". oracle.com.
- ↑"JDK 9". Retrieved 2017-06-16.
- ↑"Java modularity specification opposed by Red Hat, IBM is voted down". InfoWorld. 2017-05-09. Retrieved 2017-06-16.
- ↑Chirgwin, Richard (July 2, 2017). "Java 9 release back on track, community votes 'yes'". theregister.co.uk. Retrieved 2017-07-29.
- ↑"Java Platform, Standard Edition Oracle JDK 9 Migration Guide". docs.oracle.com. Retrieved 15 May 2018.
- ↑"OpenJDK: Project Kulla".
- ↑Lea, Doug (January 15, 2015). "[concurrency-interest] jdk9 Candidate classes Flow and Submission Publisher". Archived from the original on January 20, 2015. Retrieved December 24, 2015.
- ↑"Flow (Java SE 9 & JDK 9 )". docs.oracle.com.
- ↑Reactive Streams Releases First Stable Version for JVM
- ↑"JDK 9: First Release Candidate". 2017-08-09. Retrieved 2017-08-21.
- ↑"Java 9: Release date and new features". techworld.com. 2017-07-21. Archived from the original on 2017-12-07. Retrieved 2017-09-16."JDK 9". Oracle Corporation. Retrieved 2017-09-16.
- ↑"Mark your calendar: Java 9 finally has a release date". 2015-05-07.
- ↑"Java 9's new garbage collector: What's changing? What's staying?". June 26, 2015.
- ↑"JavaOne: JavaFX 2, Java on iOS".
- ↑"Java 9 Release Date Now March 2017". 2016-01-05.
- ↑"JDK 9 release delayed another four months". The Register. Retrieved 2016-10-14.
- ↑"JDK 9 Release Notes". oracle.com. 2017-09-21.
- ↑"JDK 9.0.1 Release Notes". oracle.com. 2017-10-17.
- ↑"JDK 9.0.1 Bug Fixes". oracle.com. 2017-10-17.
- ↑"JDK 9.0.4 Release Notes". oracle.com. 2018-01-16.
- ↑"JDK 9.0.4 Bug Fixes". oracle.com. 2018-01-16.
- ↑"JDK 10".
- ↑"JDK 10 Release Notes". oracle.com. 2018-03-20.
- ↑"JDK 10.0.1 Release Notes". oracle.com. 2018-04-17.
- ↑"JDK 10.0.1 Bug Fixes". oracle.com. 2018-04-17.
- ↑"JDK 10.0.2 Release Notes". oracle.com. 2018-07-17.
- ↑"JDK 10.0.2 Bug Fixes". oracle.com. 2018-07-17.
- ↑OpenJDK. "JDK 11".
- ↑"Oracle JDK Migration Guide". Oracle Help Center. Retrieved 27 September 2018.
- ↑"JDK 11". oracle.com. 2018-09-25.
- ↑"JDK 11.0.1 Release Notes". oracle.com. 2018-10-16.
- ↑"JDK 11.0.1 Bug Fixes". oracle.com. 2018-10-16.
- ↑"JDK 11.0.2 Release Notes". oracle.com. 2019-01-15.
- ↑"JDK 11.0.2 Bug Fixes". oracle.com. 2019-01-15.
- ↑"JDK 11.0.3 Release Notes". oracle.com. 2019-04-16.
- ↑"JDK 11.0.3 Bug Fixes". oracle.com. 2019-04-16.
- ↑"JDK 11.0.4 Release Notes". oracle.com. 2019-07-16.
- ↑"JDK 11.0.4 Bug Fixes". oracle.com. 2019-07-16.
- ↑"JDK 11.0.5 Release Notes". oracle.com. 2019-10-15.
- ↑"JDK 11.0.5 Bug Fixes". oracle.com. 2019-10-15.
- ↑"JDK 11.0.6 Release Notes". oracle.com. 2020-01-14.
- ↑"JDK 11.0.6 Bug Fixes". oracle.com. 2020-01-14.
- ↑"JDK 11.0.7 Release Notes". oracle.com. 2020-04-14.
- ↑"JDK 11.0.7 Bug Fixes". oracle.com. 2020-04-14.
- ↑"JDK 11.0.8 Release Notes". oracle.com. 2020-07-14.
- ↑"JDK 11.0.8 Bug Fixes". oracle.com. 2020-07-14.
- ↑"JDK 11.0.9 Release Notes". oracle.com. 2020-10-20.
- ↑"JDK 11.0.9 Bug Fixes". oracle.com. 2020-10-20.
- ↑"JDK 11.0.10 Release Notes". oracle.com. 2021-01-19.
- ↑"JDK 11.0.10 Bug Fixes". oracle.com. 2021-01-19.
- ↑"JDK 11.0.11 Release Notes". oracle.com. 2021-04-20.
- ↑"JDK 11.0.11 Bug Fixes". oracle.com. 2021-04-20.
- ↑"JDK 11.0.12 Release Notes". oracle.com. 2021-07-20.
- ↑"JDK 11.0.12 Bug Fixes". oracle.com. 2021-07-20.
- ↑"JDK 11.0.13 Release Notes". oracle.com. 2021-10-19.
- ↑"JDK 11.0.13 Bug Fixes". oracle.com. 2021-10-19.
- ↑"JDK 11.0.14 Release Notes". oracle.com. 2022-01-18.
- ↑"JDK 11.0.14 Bug Fixes". oracle.com. 2022-01-18.
- ↑"JDK 11.0.15 Release Notes". oracle.com. 2022-04-19.
- ↑"JDK 11.0.15 Bug Fixes". oracle.com. 2022-04-19.
- ↑"JDK 11.0.16 Release Notes". oracle.com. 2022-07-19.
- ↑"JDK 11.0.16 Bug Fixes". oracle.com. 2022-07-19.
- ↑"JDK 11.0.16.1 Release Notes". oracle.com. 2022-08-18.
- ↑"JDK 11.0.17 Release Notes". oracle.com. 2022-10-19.
- ↑"JDK 11.0.17 Bug Fixes". oracle.com. 2022-10-19.
- ↑"JDK 11.0.18 Release Notes". oracle.com. 2023-01-17.
- ↑"JDK 11.0.18 Bug Fixes". oracle.com. 2023-01-17.
- ↑"JDK 11.0.19 Release Notes". oracle.com. 2023-04-18.
- ↑"JDK 11.0.19 Bug Fixes". oracle.com. 2023-04-18.
- ↑"JDK 11.0.20 Release Notes". oracle.com. 2023-07-18.
- ↑"JDK 11.0.20 Bug Fixes". oracle.com. 2023-07-18.
- ↑"JDK 11.0.21 Release Notes". oracle.com. 2023-10-17.
- ↑"JDK 11.0.21 Bug Fixes". oracle.com. 2023-10-17.
- ↑"JDK 11.0.22 Release Notes". oracle.com. 2024-01-16.
- ↑"JDK 11.0.22 Bug Fixes". oracle.com. 2024-01-16.
- ↑"JDK 11.0.23 Release Notes". oracle.com. 2024-04-16.
- ↑"JDK 11.0.24 Release Notes". oracle.com. 2024-07-16.
- ↑"JDK 11.0.25 Release Notes". oracle.com. 2024-10-15.
- ↑"JDK 11.0.26 Release Notes". oracle.com. 2025-01-21.
- ↑"JDK 11.0.27 Release Notes". oracle.com. 2025-04-15.
- ↑"JDK 11.0.28 Release Notes". oracle.com. 2025-07-15.
- ↑"JDK 11.0.29 Release Notes". oracle.com. 2025-10-21.
- ↑OpenJDK. "12".
- ↑"JDK 12 Release Notes". oracle.com. 2019-03-19.
- ↑"JDK 12.0.1 Release Notes". oracle.com. 2019-04-16.
- ↑"JDK 12.0.1 Bug Fixes". oracle.com. 2019-04-16.
- ↑"JDK 12.0.2 Release Notes". oracle.com. 2019-07-16.
- 12"Azul Support Roadmap". Azul | Better Java Performance, Superior Java Support. Retrieved 2023-06-28.
- ↑oracle.com, mark reinhold at (September 17, 2019). "Java 13 / JDK 13: General Availability".
- ↑"JDK 13 Release Notes". oracle.com. 2019-09-17.
- ↑"JDK 13.0.1 Release Notes". oracle.com. 2019-10-15.
- ↑"JDK 13.0.2 Release Notes". oracle.com. 2020-01-14.
- ↑"JDK 13.0.2 Bug Fixes". oracle.com. 2020-01-14.
- ↑oracle.com, mark reinhold at (March 17, 2020). "Java 14 / JDK 14: General Availability".
- ↑Evans, Ben (January 10, 2020). "Records Come to Java". Java Magazine. Oracle. Retrieved 10 July 2021.
- ↑"JDK 14 Release Notes". oracle.com. 2020-03-17.
- ↑"JDK 14.0.1 Release Notes". oracle.com. 2020-04-14.
- ↑"JDK 14.0.1 Bug Fixes". oracle.com. 2020-04-14.
- ↑"JDK 14.0.2 Release Notes". oracle.com. 2020-07-14.
- ↑"JDK 14.0.2 Bug Fixes". oracle.com. 2020-07-14.
- ↑Gavin Bierman; Brian Goetz (September 2018). "Pattern Matching for Java". openjdk.org. Retrieved 2024-06-18.
- ↑"JDK 15 Release Notes". oracle.com. 2020-09-15.
- ↑"JDK 15.0.1 Release Notes". oracle.com. 2020-10-20.
- ↑"JDK 15.0.1 Bug Fixes". oracle.com. 2020-10-20.
- ↑"JDK 15.0.2 Release Notes". oracle.com. 2021-01-19.
- ↑"JDK 15.0.2 Bug Fixes". oracle.com. 2021-01-19.
- ↑"[JDK-8255616] Removal of experimental features AOT and Graal JIT – Java Bug System". bugs.openjdk.java.net. Retrieved 2021-02-19.
- ↑"JDK 16 Release Notes". oracle.com. 2021-03-16.
- ↑"JDK 16.0.1 Release Notes". oracle.com. 2021-04-20.
- ↑"JDK 16.0.1 Bug Fixes". oracle.com. 2021-04-20.
- ↑"JDK 16.0.2 Release Notes". oracle.com. 2021-07-20.
- ↑"JDK 16.0.2 Bug Fixes". oracle.com. 2021-07-20.
- ↑"JDK 17". openjdk.java.net. Retrieved 2021-09-17.
- ↑"JDK 17 Release Notes". oracle.com. 2021-09-14.
- ↑"JDK 17.0.1 Release Notes". oracle.com. 2021-10-19.
- ↑"JDK 17.0.1 Bug Fixes". oracle.com. 2021-10-19.
- ↑"JDK 17.0.2 Release Notes". oracle.com. 2022-01-18.
- ↑"JDK 17.0.2 Bug Fixes". oracle.com. 2022-01-18.
- ↑"JDK 17.0.3 Release Notes". oracle.com. 2022-04-19.
- ↑"JDK 17.0.3 Bug Fixes". oracle.com. 2022-04-19.
- ↑"JDK 17.0.3.1 Release Notes". oracle.com. 2022-05-02.
- ↑"JDK 17.0.3.1 Bug Fixes". oracle.com. 2022-05-02.
- ↑"JDK 17.0.4 Release Notes". oracle.com. 2022-07-19.
- ↑"JDK 17.0.4 Bug Fixes". oracle.com. 2022-07-19.
- ↑"JDK 17.0.4.1 Release Notes". oracle.com. 2022-08-18.
- ↑"JDK 17.0.5 Release Notes". oracle.com. 2022-10-18.
- ↑"JDK 17.0.5 Bug Fixes". oracle.com. 2022-10-18.
- ↑"JDK 17.0.6 Release Notes". oracle.com. 2023-01-17.
- ↑"JDK 17.0.6 Bug Fixes". oracle.com. 2023-01-17.
- ↑"JDK 17.0.7 Release Notes". oracle.com. 2023-04-18.
- ↑"JDK 17.0.7 Bug Fixes". oracle.com. 2023-04-18.
- ↑"JDK 17.0.8 Release Notes". oracle.com. 2023-07-18.
- ↑"JDK 17.0.8 Bug Fixes". oracle.com. 2023-07-18.
- ↑"JDK 17.0.9 Release Notes". oracle.com. 2023-10-17.
- ↑"JDK 17.0.9 Bug Fixes". oracle.com. 2023-10-17.
- ↑"JDK 17.0.10 Release Notes". oracle.com. 2024-01-16.
- ↑"JDK 17.0.10 Bug Fixes". oracle.com. 2024-01-16.
- ↑"JDK 17.0.11 Release Notes". oracle.com. 2024-04-16.
- ↑"JDK 17.0.12 Release Notes". oracle.com. 2024-07-16.
- ↑"JDK 17.0.13 Release Notes". oracle.com. 2024-10-15.
- ↑"JDK 17.0.14 Release Notes". oracle.com. 2025-01-21.
- ↑"JDK 17.0.15 Release Notes". oracle.com. 2025-04-15.
- ↑"JDK 17.0.16 Release Notes". oracle.com. 2025-07-15.
- ↑"JDK 17.0.17 Release Notes". oracle.com. 2025-10-21.
- ↑"JDK 18". openjdk.org. Retrieved 28 June 2023.
- ↑"JDK 18 Release Notes". oracle.com. 2022-03-22.
- ↑"JDK 18.0.1 Release Notes". oracle.com. 2022-04-19.
- ↑"JDK 18.0.1 Bug Fixes". oracle.com. 2022-04-19.
- ↑"JDK 18.0.1.1 Release Notes". oracle.com. 2022-05-02.
- ↑"JDK 18.0.1.1 Bug Fixes". oracle.com. 2022-05-02.
- ↑"JDK 18.0.2 Release Notes". oracle.com. 2022-07-19.
- ↑"JDK 18.0.2 Bug Fixes". oracle.com. 2022-07-19.
- ↑"JDK 18.0.2.1 Release Notes". oracle.com. 2022-08-18.
- ↑"JDK 19". openjdk.org. Retrieved 2022-09-19.
- ↑"JDK 19 Release Notes". oracle.com. 2022-09-20.
- ↑"JDK 19.0.1 Release Notes". oracle.com. 2022-10-18.
- ↑"JDK 19.0.1 Bug Fixes". oracle.com. 2022-10-18.
- ↑"JDK 19.0.2 Release Notes". oracle.com. 2023-01-17.
- ↑"JDK 19.0.2 Bug Fixes". oracle.com. 2023-01-17.
- ↑"JDK 20". openjdk.org. Retrieved 2023-04-21.
- ↑"JDK 20 Release Notes". oracle.com. 2023-03-21.
- ↑"JDK 20.0.1 Release Notes". oracle.com. 2023-04-18.
- ↑"JDK 20.0.1 Bug Fixes". oracle.com. 2023-04-18.
- ↑"JDK 20.0.2 Release Notes". oracle.com. 2023-07-18.
- ↑"JDK 20.0.2 Bug Fixes". oracle.com. 2023-07-18.
- ↑"JDK 21". OpenJDK. Retrieved June 12, 2023.
- ↑"JDK 21 Release Notes". oracle.com. 2023-09-19.
- ↑"JDK 21.0.1 Release Notes". oracle.com. 2023-10-17.
- ↑"JDK 21.0.1 Bug Fixes". oracle.com. 2023-10-17.
- ↑"JDK 21.0.2 Release Notes". oracle.com. 2024-01-16.
- ↑"JDK 21.0.2 Bug Fixes". oracle.com. 2024-01-16.
- ↑"JDK 21.0.3 Release Notes". oracle.com. 2024-04-16.
- ↑"JDK 21.0.3 Bug Fixes". oracle.com. 2024-04-16.
- ↑"JDK 21.0.4 Release Notes". oracle.com. 2024-07-16.
- ↑"JDK 21.0.5 Release Notes". oracle.com. 2024-10-15.
- ↑"JDK 21.0.6 Release Notes". oracle.com. 2025-01-21.
- ↑"JDK 21.0.7 Release Notes". oracle.com. 2025-04-15.
- ↑"JDK 21.0.8 Release Notes". oracle.com. 2025-07-25.
- ↑"JDK 21.0.9 Release Notes". oracle.com. 2025-10-21.
- ↑"JDK 22". OpenJDK. Retrieved April 10, 2024.
- ↑"Oracle Releases Java 22". oracle.com. Retrieved 2024-03-20.
- ↑"Java SE 22 (JSR 397)". cr.openjdk.org. Retrieved 2024-04-16.
- ↑"Java SE 23 Platform JSR 398". openjdk.org. Retrieved 2024-01-17.
- ↑"JDK 23". openjdk.org. Retrieved 2024-08-28.
- ↑"Oracle Releases Java 23". oracle.com. Retrieved 2024-09-17.
- ↑Bierman, Gavin (2024-04-05). "Update on String Templates (JEP 459)". Amber Expert Group (Mailing list). Retrieved 2024-09-25.
- ↑"Java SE 24 Platform JSR 399". openjdk.org. Retrieved 2024-09-25.
- ↑"JDK 24". OpenJDK. Oracle Corporation. Retrieved November 9, 2024.
- ↑"Java SE 25 Platform JSR 400". openjdk.org. Retrieved 2024-12-15.
- ↑"JDK 25". openjdk.org. Retrieved 2025-07-21.
- ↑"Java SE 26 Platform JSR 401". openjdk.org. Retrieved January 16, 2026.
- ↑"JDK 26". openjdk.org. Retrieved January 16, 2026.
- ↑ "التنزيلات - نظرة عامة" . 18 يوليو 2016.
- ↑ "Amazon Corretto" . خدمات أمازون السحابية . تم الاطلاع عليه بتاريخ 16 نوفمبر 2025 .
- ↑ "Eclipse Temurin" . Adoptium . مؤسسة Eclipse . تم الاطلاع عليه بتاريخ 16-11-2025 .
- ↑ "Liberica JDK" . BellSoft . تم الاسترجاع في 16 نوفمبر 2025 .
- ↑ "Alibaba Dragonwell8" . GitHub . Alibaba . تم الاسترجاع في 16 نوفمبر 2025 .
- ↑ "GraalVM" . GraalVM . مختبرات أوراكل . تم الاسترجاع في 16 نوفمبر 2025 .
- ↑ "إصدار Red Hat من OpenJDK" . مطورو Red Hat . Red Hat . تم الاطلاع عليه بتاريخ 16-11-2025 .
- ↑ "بيئات تشغيل IBM Semeru" . مطور IBM . IBM . تم الاسترجاع في 16 نوفمبر 2025 .
روابط خارجية
- تاريخ البرمجيات
- جافا (منصة برمجية)
- تاريخ إصدارات البرامج
