JavaRush /Java blogi /Random-UZ /JDK ning yangi versiyalarining tez-tez chiqarilishi nimag...

JDK ning yangi versiyalarining tez-tez chiqarilishi nimaga olib keladi?

Guruhda nashr etilgan
Bu Java uchun o'zgarishlar davri. JDK versiyalari endi yangi funksiyalar paydo bo'lishi bilan emas, balki jadval asosida chiqariladi. Ushbu yondashuv o'zining ijobiy va salbiy tomonlariga ega, ammo bunday o'zgarishlar JDK 8 ga qanday ta'sir qiladi? Mashhur Java Evangelisti, Java chempioni va Azul Systems kompaniyasining yordamchi texnik direktori Saymon Ritter nima uchun "jadval bo'yicha yangi Java" barqarorlik, xavfsizlik va narx o'rtasidagi kelishuv ekanligini tushuntiradi.
JDK ning yangi versiyalarining tez-tez chiqarilishi nimaga olib keladi - 1
2018 yilda Java dunyosini muhim o'zgarishlar kutmoqda. O'tgan yili e'lon qilinganidek, biz yangi funksiyalar mavjud bo'lganda versiyalarni chiqarish o'rniga, JDK versiyalarini reja asosida chiqarishga o'tmoqdamiz. Bu ajoyib yangilik, chunki endi yangi funksiyalar relizlarga tayyor bo'lgani uchun kiritiladi va ishlab chiquvchilar ularga tezroq kirishadi. JDK 10 mart oyida chiqarilishi rejalashtirilgan va biz xatolarni tuzatishning ikkinchi bosqichiga kirdik, shuning uchun hammasi rejaga muvofiq ketmoqda. Java Spetsifikatsiya so'rovi (JSR) allaqachon faol ishlab chiqilmoqda va jamoatchilik muhokamasi uchun mavjud. Hatto JDK 11 ga qaratilgan JDK takomillashtirish takliflari (JEPs) ham mavjud . Java ajoyib ishlayotganga o'xshaydi.

Vaqt o'zgaradi

Biroq, ushbu nashr jadvali bilan bog'liq bo'lgan boshqa ko'plab o'zgarishlar mavjud, ular bu yil o'zini namoyon qiladi va unchalik yoqimli bo'lmasligi mumkin. 22 yarim yil davomida biz Java platforma sifatida to'g'ridan-to'g'ri qo'llab-quvvatlanishi bilan bog'liq uchta asosiy xususiyatga ega ekanligiga ko'nikishga muvaffaq bo'ldik.
  1. Barqarorlik . Ilgari JDK ning yangi nashri bilan qo'shilgan xususiyatlar, garchi har tomonlama sinovdan o'tgan bo'lsa-da, ishlab chiqarishda sinovdan o'tishni talab qilgan. Bu tuzatishga muhtoj bo'lgan kamchiliklarni aniqlashga yordam berdi. Foydalanuvchilar yangisini sinab ko'rish paytida barqaror tuzilmalar bilan ishlashda davom etishlarini ta'minlash uchun yangilanishlar har doim o'z vaqtida qisman bir-biriga mos kelardi.

    Agar biz JDK 6 dan boshlangan so'nggi bir necha relizlarni ko'rib chiqsak, JDK 5 uchun yangilanishlar deyarli 3 yil davomida chiqarilishda davom etganini ko'ramiz (aniq 2 yil 11 oy). JDK 7 joriy etilishi bilan JDK 6 uchun ommaviy yangilanishlar bir yil va 9 oy davomida chiqarildi. Va JDK 7 uchun yangilanishlar JDK 8 chiqarilgandan keyin 13 oy ichida chiqarildi.


  2. Xavfsizlik . OpenJDK ishlab chiqish va qo'llab-quvvatlash guruhlari, Oracle va ulardan oldin Sun Microsystems (Javani yaratgan kompaniya, muharrirning eslatmasi) platforma xavfsizligini doimo birinchi o'ringa qo'ygan. Esingizda bo'lsa, Java dastlab mobil qurilmalar uchun mo'ljallangan edi (xususan, Star7 PDA).



    Rivojlanishning asosiy maqsadlaridan biri kodning tarmoq orqali uzatilishi va xavfsiz bajarilishini ta'minlash edi. JDK uchun yangilanishlar muntazam chop etiladi, ularda aniqlangan xavfsizlik muammolari uchun yamalar mavjud. Agar siz ushbu yangilanishlarni chiqarilgandan so'ng darhol o'rnatsangiz, siz butunlay xavfsiz bo'lasiz.


  3. Nol xarajat . Java-ning ajoyib jihatlaridan biri shundaki, u 2006 yilda ochiq kodli dasturiy ta'minot sifatida chiqarilishidan oldin ham doim bepul platforma bo'lib kelgan. Java-dan royaltisiz foydalanish bo'yicha ma'lum cheklovlar mavjud edi, lekin bu har doim mobil va o'rnatilgan ilovalarga taalluqlidir; ish stoli mijozlari va korporativ serverlar uchun Java-ning joriy versiyasi har doim bepul edi. JDK ga kiritilgan o'zgarishlardan biri bu OpenJDK bajariladigan fayllarni GPLv2 litsenziyasi ostida "Classpath" istisnosi bilan chiqarishdir. Ushbu litsenziya Java Runtime Environment-ni qanday joylashtirishingizga hech qanday cheklovlar qo'ymaydi.

Biroq, JDK-ni ishlab chiqish va chiqarish usulidagi o'zgarishlar ilovalarni Java-ning yangi versiyalariga ko'chirish rejalarini diqqat bilan ko'rib chiqishni talab qiladi. Ushbu yangi relizlar jadvali bilan bir nechta oldingi relizlar uchun yangilanishlar mavjudligini ta'minlash bo'yicha harakatlar amalga oshirilmasligi mumkin. Ikki xil foydalanuvchilar guruhining ehtiyojlarini qondirish uchun (tezda yangi xususiyatlarni talab qiladiganlar va uzoq muddatli barqarorlikni qadrlaydiganlar) Oracle uzoq muddatli qo'llab-quvvatlash (LTS) modeliga o'tishga qaror qildi. JDK ning maxsus versiyalari LTS relizlari hisoblanadi, ya'ni ular uch yil davomida yangilanishlarni oladi. Boshqa barcha oraliq relizlar Feature relizlar deb ataladi va yangilanishlarni faqat 6 oyga oladi. Ushbu yangi tizim bilan sinxronlashtirish uchun JDK 8 LTS versiyasi sifatida tasniflandi. Keyingi reliz JDK 11 boʻlib, 2018-yil sentabriga rejalashtirilgan. Ushbu yangi model olib keladigan eng katta oʻzgarish shundaki, relizlar orasidagi yangilanishlar vaqt oʻtishi bilan bir-biriga mos kelmaydi . Men uni qalin kursiv bilan yozdim, chunki bu mutlaqo aniq edi. Bu erda JDK 19 gacha bo'lgan JDK relizlari uchun yangilanishlar mavjudligini ko'rsatadigan grafik.
JDK - 2 ning yangi versiyalarining tez-tez chiqarilishi nimaga olib keladi?
Rasmda: Java SE Lifecycle – 5+ yillik jadval Ommaviy yangilanishlar bir-biriga oʻxshamaydi (“Cliffni qoʻllab-quvvatlash”) Oracle Commercial Support Oracle Extended Commercial Support
Java SE Lifecycle - 5+ yillik umumiy yangilanishlar jadvali Oracle’dan umumiy bajariladigan dasturlarning bir-biriga o‘xshash vaqti (qo‘llab-quvvatlanmaydi) Oracle tijorat yordami Oracle kengaytirilgan tijorat yordami
Ushbu o'zgarishlarning bevosita natijasi sifatida Java platformasi hali ham barqaror, xavfsiz va bepul, ammo endi siz ushbu uchta xususiyatdan ikkitasini tanlashingiz kerak. Kelajakda Java-ni qo'llashda uchta xususiyat bir vaqtning o'zida mavjud bo'lmaydi.

Keling, biroz ko'proq tushuntiraman

Aytaylik, siz xavfsizlik haqida qayg'urasiz (siz shunday bo'lishi kerak), lekin siz pul sarflashni xohlamaysiz. Bunday holda, yangi JDK versiyalari chiqarilgandan so'ng darhol ularga o'tishingiz kerak. Qo'llab-quvvatlash o'z vaqtida bir-biriga mos kelmasa (Funksiya va LTS versiyalari), yangi xavfsizlik tuzatishlarini olish uchun buni qilishingiz kerak bo'ladi. Afsuski, vaqt bir-biriga mos kelmasdan, siz darhol ishlab chiqarishda hali sinovdan o'tmagan JDK relizlariga o'tishingiz kerak bo'ladi, shuning uchun siz avvalgi barqarorlikni yo'qotasiz. Yana bir variant - nol narxda barqarorlikni tanlash. Shunga qaramay, bu mumkin: yangisi chiqqandan keyin oldingi LTS versiyasidan foydalanishni davom ettirish kifoya. Siz o'zingizga yaxshi tanish bo'lgan barqarorlikka ega bo'lasiz, hech narsa to'lashingiz shart emas, lekin siz hech qanday xavfsizlik yamoqlarini olmaysiz, chunki ular endi ushbu versiyada mavjud emas. Nihoyat, barqarorlik va xavfsizlikni istasangiz, to'lashingiz kerak. Oldingi LTS versiyasidan foydalanishni davom ettirishingiz mumkin, ammo xavfsizlik va xatolarni tuzatishga kirish faqat tijorat koʻmak shartnomasi orqali mavjud boʻladi.

Va muallifdan kichik reklama bloki :)

Azul (mening kompaniyam) Zulu Enterprise brendi ostida bir qator OpenJDK bajariladigan dasturlarni yaratdi, ular manbadan qurilgan, TCK/JCK mezonlari bilan sinovdan o'tgan va hatto noto'g'ri sarlavha fayllari tufayli ochiq manba kodining buzilishiga yo'l qo'ymaslik uchun biz ishlab chiqqan yordamchi dasturlar yordamida tahlil qilingan. . Biz joriy versiyani bepul yuklab olish imkoniyatini, shuningdek, qiziquvchilar uchun tijorat yordamini taqdim etamiz. Biz yaqinda Zulu uchun mijozlarga maksimal moslashuvchanlikni ta'minlashga qaratilgan yangi qo'llab-quvvatlash imkoniyatlari to'plamini taklif qila boshladik. Biz foydalanuvchilarga biznes va mijozlar ehtiyojlariga mos keladigan JDK ning yangi versiyasiga o'tish imkoniyatini taqdim qilmoqchimiz. Buning uchun biz uchta qo'llab-quvvatlash variantini taqdim etamiz:
  1. Qisqa muddatli qo'llab-quvvatlash (STS). STS foydalanuvchilarga yangi JDK relizlariga silliq oʻtish uchun yetarlicha yordam bilan yangi Java funksiyalariga eng tez kirish imkonini beradi. Zulu Enterprise 12 oy davomida STS relizlarini xatolarni tuzatish, xavfsizlik yangilanishlari va kerak boʻlganda boshqa tuzatishlarni (“ishlab chiqarishni qoʻllab-quvvatlash”) hamda konsalting yordamiga qaratilgan 6 oylik qoʻshimcha yordamni taqdim etadi va foydalanuvchilarga JDKning yangi versiyasiga oʻtishga yordam beradi. ("kengaytirilgan qo'llab-quvvatlash"). Bu 18 oylik hayot aylanishiga to'g'ri keladi.

  2. O'rta muddatli qo'llab-quvvatlash (MTS). MTS relizlari sizga yangi LTS versiyasini kutmasdan ishlab chiqarishdagi xususiyat relizlarida mavjud bo'lgan yangi xususiyatlardan foydalanish imkonini beradi. Azul LTS relizlar o'rtasida yiliga bitta MTS relizini rejalashtiradi va LTSning keyingi umumiy foydalanish mumkin bo'lgan sanasidan keyin 18 oy davomida ishlab chiqarishni qo'llab-quvvatlaydi. Bu ishlab chiqarishni joylashtirish jarayonida vaqtning o'zaro kelishini va "silliq" o'tishni ta'minlaydi. Ishlab chiqarishni qo'llab-quvvatlash tugagandan so'ng, qo'shimcha 12 oylik kengaytirilgan qo'llab-quvvatlash taqdim etiladi.

  3. Uzoq muddatli qo'llab-quvvatlash (LTS). U OpenJDK hamjamiyati tomonidan LTS deb hisoblangan relizlar uchun taqdim etiladi va qo'shimcha ikki yillik kengaytirilgan qo'llab-quvvatlash bilan 8 yillik ishlab chiqarishni qo'llab-quvvatlaydi.
Buni aniqroq qilish uchun yana bir rasm.
JDK - 3 ning yangi versiyalarining tez-tez chiqarilishi nimaga olib keladi?
Rasmda: Java SE Lifecycle – 5+ yillik jadvali Oracle umumiy foydalanish mumkin boʻlgan ikkilik fayllar (qoʻllab-quvvatlanmaydi) Oracle tijorat qoʻllab-quvvatlashi Oracle kengaytirilgan tijorat yordami Azul Zulu ishlab chiqarishni tijorat qoʻllab-quvvatlashi Azul Zulu kengaytirilgan (passiv) tijorat yordami
Java SE Lifecycle - Oracle'dan 5+ yillik umumiy bajariladigan dasturlar jadvali (qo'llab-quvvatlanmaydi) Oracle tijorat qo'llab-quvvatlashi Oracle kengaytirilgan tijorat yordami Azul Zulu'dan tijorat ishlab chiqarishni qo'llab-quvvatlash Azul Zulu'dan kengaytirilgan (passiv) tijorat yordami
Agar siz hozirda JDK 8 dan tijoriy yordam shartnomasisiz foydalanayotgan bo'lsangiz va umumiy yangilanishlar orqali tizimingizni barqaror va xavfsiz saqlayotgan bo'lsangiz, sentyabr oyidan boshlab nima qilishingiz haqida o'ylashingiz mumkin. Azul bu borada sizga yordam berishga tayyor, shuning uchun sizga yordam kerak bo'lsa, biz bilan bog'lanishdan tortinmang.

xulosalar

Bu yil Java platformasining bir qancha jihatlari oʻzgarmoqda, ularning aksariyati yaxshi tomonga. Yangi funksiyalarga tezroq kirish, Flight Recorder va Mission Control kabi yordamchi dasturlarni ochiq chiqarish, GPLv2 litsenziyasi ostida OpenJDK bajariladigan dasturlarni chiqarish, “Classpath” istisnosi bilan. Biroq, qayg'uli haqiqat shundaki, Java platformasi uchun odatiy saxiy bepul yordam o'tmishda qolmoqda. Java hali ham barqaror, xavfsiz va bepul. Ushbu uchta sifatdan qaysi ikkitasi siz va foydalanuvchilaringiz uchun muhimroq?
JDK - 4 ning yangi versiyalarining tez-tez chiqarilishi nimaga olib keladi?

muallif haqida

Saymon Ritter - Azul Systems texnik direktori o'rinbosari. Saymon 1984-yildan buyon IT-biznes bilan shug‘ullanadi va Buyuk Britaniyaning Brunel universitetida fizika bo‘yicha bakalavr darajasiga ega.

Saymon 1996 yilda Sun Microsystems kompaniyasiga qo‘shildi va Java dasturini ishlab chiqish va konsalting sohasida vaqt o‘tkazdi. 1999 yildan beri u Java texnologiyalarini ishlab chiquvchilarga namoyish etib keladi, asosiy e'tibor Java platformasi va mijoz va o'rnatilgan ilovalarga qaratiladi. Hozirda Azul Systems kompaniyasida u odamlarga Java va Azulning JVM mahsulotlarini yaxshiroq tushunishga yordam berishda davom etmoqda. Siz uni Twitter-da kuzatib borishingiz mumkin: @speakjava .

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION