Java versiyasi tarixi

Java tili JDK dan keyin bir qancha o'zgarishlarga uchradi 1.0, shuningdek, standart kutubxonaga ko'plab sinflar shuningdek paketlar qo'shildi. J2SE dan beri 1.4, Java tilining evolyutsiyasi Java platformasiga qo'shimcha va o'zgarishlarni taklif qilish va belgilash uchun Java Spetsifikatsiya so'rovlaridan (JSR) foydalanadigan Java Jamoatchilik jarayoni (JCP) tomonidan boshqariladi. Til Java Language Specification (JLS) bilan belgilanadi; JLSga o'zgartirish JSR ostida nazorat qilinadi 901 . 2017-yil sentabr oyida Java platformasining bosh arxitektori Mark Reynxold o‘sha paytdagi ikki yillik jadvalga emas, balki “har olti oyda bitta xususiyatli reliz”ga o‘zgartirishni taklif qildi.  Ushbu taklif keyingi barcha versiyalar uchun kuchga kirdi shunigdek hozir ham joriy relizlar jadvali.

Til o'zgarishlariga qo'shimcha ravishda, yillar davomida Java sinf kutubxonasiga boshqa o'zgarishlar kiritildi, ular JDKda bir necha yuz sinfdan oshdi. J2SEda 1,0 dan uch mingdan ortiq 5. Swing va Java2D kabi to'liq yangi APIlar va ko'plab original JDKlar taqdim etildi. 1.0 sinflari va usullari eskirgan . Ba'zi dasturlar Java dasturlarini Java platformasining bir versiyasidan eskisiga (masalan, Java 5.0 1.4 ga qaytarildi) 

Oracle Java SE qo‘llab-quvvatlash yo‘l xaritasiga kelsak,  18-versiyasi so‘nggi versiyalar va 17, 11 va 8-versiyalari hozirda qo‘llab-quvvatlanadigan uzoq muddatli qo‘llab-quvvatlash (LTS) versiyalari bo‘lib, Oracle mijozlar Oracle Premier yordamini oladilar. Java 8 LTS tijorat maqsadlarida foydalanish uchun so'nggi bepul dasturiy ta'minot ommaviy yangilanishi Oracle tomonidan 2022-yilning mart oyida chiqarilgan, Oracle esa ishlab chiqish  va shaxsiy foydalanish sababli bepul Java 8 yangilanishlarini chiqarishda davom etmoqda.  Java 7 endi ommaviy qo'llab-quvvatlanmaydi. Java 11 uchun Oracle tomonidan jamoatchilikka uzoq muddatli yordam berilmaydi; Buning o'rniga Eclipse Adoptium yoki boshqalar kabi kengroq OpenJDK hamjamiyati ishni bajarishi kutilmoqda. 

Java 17 oxirgi (3-chi) LTS 2021-yil 14-sentabrda chiqarilgan. 

Java 19 umumiy mavjudligi 2022-yil 20-sentabrda boshlangan.

Chiqarish jadvali 
 

Birinchi versiya 1996 yil 23 yanvarda chiqarilgan  Birinchi barqaror versiya JDK 1.0.2 Java 1 deb ataladi.  
1997-yil 19-fevraldagi nashrga kiritilgan asosiy qoʻshimchalar: 

 AWT hodisasi modelini keng qamrovli qayta jihozlash
 tilga qo'shilgan ichki sinflar
 JavaBeans
 JDBC
 RMI va serializatsiya
 faqat Introspectionni qo'llab-quvvatlagan aks ettirish, ish vaqtida hech qanday o'zgartirish mumkin emas edi. (Ob'yektlarni aks ettiruvchi tarzda o'zgartirish imkoniyati J2SE 1.2 da AccessibleObject sinfini va uning Field sinfi kabi kichik sinflarini joriy qilish orqali qo'shilgan. )
 Symantec tomonidan JavaSoft uchun ishlab chiqarilgan Microsoft Windows platformalarida JIT (Just In Time) kompilyatori
 Taligentdan kelib chiqqan xalqarolashtirish va Unicode yordami 

1998 yil 8 dekabrda chiqarilgan va J2SE orqali keyingi nashrlar 5.0 retrospektiv rebrendlangan Java 2 va versiya nomi "J2SE" ( Java 2 Platformasi, Standard Edition ) asosiy platformani J2EE ( Java 2 Platform, Enterprise Edition ) va J2ME ( Java 2 Platform, Micro Edition ) dan farqlash uchun JDK o'rnini egalladi. Bu Java-ning juda muhim versiyasi bo'ldi, chunki u Java platformasining hajmini 59 ta paketdagi 1520 sinfga 3 baravar oshirdi. Asosiy qoʻshimchalar kiritilgan: 

 strictfp kalit so'zi (JVM 17 tomonidan eskirgan kalit so'z, yangi kodda ishlatilmasligi kerak)
 Swing grafik API asosiy sinflarga birlashtirilgan
 Sun's JVM birinchi marta JIT kompilyatori bilan jihozlangan
 Java plagini
 Java IDL, CORBA o'zaro ishlashi uchun IDL ilovasi
 To'plamlar ramkasi

J2SE 1.3 
 
2000 yil 8-maydagi nashrdagi eng muhim o'zgarishlar: 

 HotSpot JVM kiritilgan (HotSpot JVM birinchi marta 1999 yil aprel oyida J2SE uchun chiqarilgan 1.2 JVM)
 RMI CORBA bilan ixtiyoriy muvofiqlikni qo'llab-quvvatlash uchun o'zgartirildi
 Java nomlash va katalog interfeysi (JNDI) asosiy kutubxonalarga kiritilgan (ilgari kengaytma sifatida mavjud bo`lgan)
 Java platformasi tuzatuvchisi arxitekturasi (JPDA)
 JavaSound
 Sintetik proksi sinflar 
2002-yil 6-fevraldagi reliz JSR 59 sifatida Java Community Process doirasida ishlab chiqilgan Java platformasining birinchi nashri edi. Asosiy oʻzgarishlar kiritilgan: 

 Til o'zgarishlari
 assert kalit so'zi ( JSR 41 da ko'rsatilgan)
 Kutubxonani yaxshilash
 Perl muntazam ifodalaridan keyin modellashtirilgan muntazam ifodalar
 Istisno zanjiri istisnoga asl quyi darajadagi istisnolarni qamrab olish imkonini beradi
 Internet protokolining 6-versiyasini ( IPv6 ) qo'llab-quvvatlash
 Bloklanmagan I/U (NIO deb nomlangan) ( JSRda ko'rsatilgan 51 )
 Logging API ( JSRda ko'rsatilgan 47 )
 JPEG va PNG kabi formatlarda tasvirlarni oʻqish va yozish uchun Image I/O API
 Integratsiyalashgan XML tahlilchisi va XSLT protsessor ( JAXP ) ( JSRda ko'rsatilgan 5 va JSR 63 )
 Integratsiyalashgan xavfsizlik va kriptografiya kengaytmalari ( JCE, JSSE, JAAS )
 Java Web Start kiritilgan (Java Web Start birinchi marta 2001 yil mart oyida J2SE uchun chiqarilgan 1.3) ( JSRda ko'rsatilgan 56 )
 Preferences API ( java.util.prefs )

Java 1.4 uchun ommaviy qo'llab-quvvatlash va xavfsizlik yangilanishlari 2008 yil oktyabr oyida tugadi. Oracle mijozlari uchun pulli xavfsizlik yangilanishlari 2013-yil fevralida tugatildi. 
 
2004-yil 30-sentabrdagi nashr dastlab 1.5 raqamiga ega edi, u hanuzgacha ichki versiya raqami sifatida ishlatiladi. Raqam "J2SE ning etuklik, barqarorlik, kengayish va xavfsizlik darajasini yaxshiroq aks ettirish" uchun o'zgartirildi.  Ushbu versiya JSR 176 ostida ishlab chiqilgan.

Java SE 5 2008-yil 8-aprelda ommaviy yangilanishlar davriga kirdi; 2009-yil 3-noyabrdan boshlab yangilanishlar endi omma uchun mavjud emas. Yangilanishlar Oracle-ning pullik mijozlari uchun 2015-yil mayigacha mavjud edi 

Tiger bir qator muhim yangi til xususiyatlarini qo'shdi: 

 Umumiy ma'lumotlar: to'plamlar uchun kompilyatsiya vaqtidagi (statik) turdagi xavfsizlikni ta'minlaydi va ko'pgina turdagi yozuvlarga (turni o'zgartirish) ehtiyojni yo'q qiladi ( JSR 14 tomonidan ko'rsatilgan)
 Metadata : izohlar deb ham ataladi; sinflar va usullar kabi til konstruktsiyalarini qo'shimcha ma'lumotlar bilan belgilashga imkon beradi, keyinchalik ular metadatadan xabardor yordamchi dasturlar tomonidan qayta ishlanishi mumkin ( JSR 175 tomonidan ko'rsatilgan)
 Autoboxing /unboxing: ibtidoiy turlar (masalan, int ) va ibtidoiy oʻrash sinflari (masalan, Integer ) oʻrtasida avtomatik konvertatsiya qilish ( JSR 201 tomonidan koʻrsatilgan)
 Ro'yxatlar : enum kalit so'zi turdagi xavfsiz, tartiblangan qiymatlar ro'yxatini yaratadi (masalan, Day. MONDAY, Day. TUESDAY va boshqalar); Ilgari bunga faqat turdagi xavfsiz bo'lmagan doimiy tamsayılar yoki qo'lda tuzilgan sinflar (typesafe enum naqsh) orqali erishish mumkin edi ( JSR 201 tomonidan ko'rsatilgan)
 Varargs : usulning oxirgi parametri endi tur nomidan keyin uchta nuqta (masalan, void drawtext(String... lines) ) yordamida e'lon qilinishi mumkin; qo'ng'iroq kodida ushbu turdagi parametrlarning istalgan sonidan foydalanish mumkin va ular keyin usulga o'tish uchun massivga joylashtiriladi yoki muqobil ravishda chaqiruvchi kod shu turdagi massivni o'tkazishi mumkin.
 for each bir sikl uchun kengaytirilgan: for tsikli sintaksisi massivning har bir a'zosi yoki har qanday Iterable, masalan, standart Collection sinflari ( JSR 201 tomonidan ko'rsatilgan) ustida takrorlash uchun maxsus sintaksis bilan kengaytirilgan.
 Ko'p tarmoqli Java dasturlari uchun ijro semantikasi yaxshilandi; Yangi Java xotira modeli oldingi spetsifikatsiyalarning murakkabligi, samaradorligi va ishlashi masalalarini hal qiladi 
 Statik import

Standart kutubxonalarda quyidagi yaxshilanishlar ham amalga oshirildi:

 RMI ob'ektlari uchun avtomatik stub yaratish
 Swing : yangi teriga o'xshash ko'rinish va tuyg'u, sintez deb ataladi
 java.util.concurrent to'plamidagi parallellik utilitlari 
 Turli kirish oqimlari va buferlardan ma'lumotlarni tahlil qilish uchun skaner klassi

Java 5 - bu Microsoft Windows 98 va Windows ME -ni rasman qo'llab-quvvatlovchi Java-ning so'nggi versiyasidir , Windows Vista esa Windows-ning eng yangi versiyasi bo'lib, Java SE 5 oktabr oyida Java 5-ning amal qilish muddati tugashidan oldin qo'llab-quvvatlangan. 2009. 

Java 5 Update 5 (1.5.0_05) - bu Windows 95 ( Internet Explorer 5.5 o'rnatilgan) va Windows NT 4.0 da ishlash uchun Java-ning oxirgi versiyasidir. 

Java 1.5 uchun ommaviy qo'llab-quvvatlash va xavfsizlik yangilanishlari 2009 yil noyabr oyida tugadi. Oracle mijozlari uchun pulli xavfsizlik yangilanishlari 2015-yilning aprel oyida yakunlandi.

Ushbu versiya Java tili uchun yangi versiya tizimini taqdim etdi, garchi eski versiya tizimi ishlab chiquvchilar kutubxonalari uchun foydalanishda davom etdi:
Pages with unreviewed translations