JavaRush /Java Blogu /Random-AZ /JDK-nın yeni versiyalarının tez-tez buraxılması nəyə gəti...

JDK-nın yeni versiyalarının tez-tez buraxılması nəyə gətirib çıxaracaq?

Qrupda dərc edilmişdir
Java üçün dəyişiklik dövrüdür. JDK versiyaları indi yeni funksionallıq mövcud olduqdan çox, cədvəl üzrə buraxılacaq. Bu yanaşmanın müsbət və mənfi tərəfləri var, lakin bu cür dəyişikliklər JDK 8-ə necə təsir edəcək? Tanınmış Java Evangelisti, Java Çempionu və Azul Systems-də köməkçi texniki direktor Saymon Ritter izah edir ki, nə üçün “təqvim üzrə yeni Java” sabitlik, təhlükəsizlik və xərclər arasında rəqabətdir.
JDK-nın yeni versiyalarının tez-tez buraxılması nəyə gətirib çıxaracaq - 1
2018-ci ildə Java dünyasını əhəmiyyətli dəyişikliklər gözləyir. Keçən il elan edildiyi kimi, biz yeni funksiyalar əlçatan olduqda versiyaları buraxmaq əvəzinə, JDK versiyalarını planlı şəkildə buraxmağa keçirik. Bu əla xəbərdir, çünki indi yeni funksiyalar hazır olduqları üçün buraxılışlara daxil ediləcək və tərtibatçılar onlara daha sürətli çıxış əldə edəcəklər. JDK 10-un mart ayında buraxılması planlaşdırılır və biz artıq səhvlərin aradan qaldırılmasının ikinci mərhələsinə daxil olmuşuq, buna görə də hər şey plana uyğun gedir. Java Spesifikasiya Sorğusu (JSR) artıq aktiv inkişaf mərhələsindədir və ictimai şərh üçün əlçatandır. Hətta JDK 11-i hədəfləyən JDK təkmilləşdirmə təklifləri (JEPs) var . Görünür, Java əla işləyir.

Zaman dəyişir

Bununla belə, bu buraxılış cədvəli ilə bağlı bir çox başqa dəyişikliklər var ki, bu il özünü göstərəcək və o qədər də xoş olmaya bilər. 22 il yarım ərzində biz Java-nın bir platforma olaraq birbaşa dəstəklənmə üsulu ilə əlaqəli üç əsas xüsusiyyətə malik olmasına öyrəşməyə müvəffəq olduq.
  1. Sabitlik . Əvvəllər JDK-nın yeni buraxılışı ilə əlavə edilmiş xüsusiyyətlər hərtərəfli sınaqdan keçirilsə də, istehsalda sınaqdan keçirilməsini tələb edirdi. Bu, düzəldilməli olan çatışmazlıqları aşkar etməyə kömək etdi. İstifadəçilərin yenisini sınaqdan keçirərkən sabit quruluşlarla işləməyə davam edə bilməsini təmin etmək üçün yeniləmələr həmişə vaxtında qismən üst-üstə düşürdü.

    JDK 6 ilə başlayan son bir neçə buraxılışa nəzər salsaq görərik ki, JDK 5 üçün yeniləmələr demək olar ki, daha 3 il (dəqiq olmaq üçün 2 il 11 ay) yayımlanmağa davam etdi. JDK 7-nin tətbiqi ilə, JDK 6 üçün bir il 9 ay üçün ictimai yeniləmələr buraxıldı. Və JDK 7 üçün yeniləmələr JDK 8-in buraxılmasından sonra 13 ay ərzində buraxıldı.


  2. Təhlükəsizlik . OpenJDK inkişaf və dəstək qrupları, Oracle və onlardan əvvəl Sun Microsystems (Java-nı yaradan şirkət, redaktorun qeydi) həmişə platformanın təhlükəsizliyini ön plana çəkiblər. Yadınızdadırsa, Java əvvəlcə mobil cihazlar üçün nəzərdə tutulmuşdu (xüsusən də Star7 PDA).



    Əsas inkişaf məqsədlərindən biri kodun şəbəkə üzərindən ötürülməsini və təhlükəsiz şəkildə icrasını təmin etmək idi. Yeniləmələr müntəzəm olaraq JDK üçün dərc olunur, bura aşkar edilmiş təhlükəsizlik problemləri üçün yamaqlar daxildir. Bu yeniləmələri buraxıldıqdan dərhal sonra quraşdırsanız, tamamilə təhlükəsiz olacaqsınız.


  3. Sıfır xərc . Java-nın ən gözəl cəhətlərindən biri də odur ki, 2006-cı ildə açıq mənbə proqram təminatı kimi buraxılmamışdan əvvəl də həmişə pulsuz platforma olub. Java-nın qonorarsız istifadə oluna biləcəyi yerlərdə müəyyən məhdudiyyətlər var idi, lakin bu, həmişə mobil və quraşdırılmış proqramlara şamil edilirdi; masa üstü müştərilər və müəssisə serverləri üçün Java-nın cari versiyası həmişə pulsuz idi. JDK-da artıq həyata keçirilən dəyişikliklərdən biri "Classpath" istisna olmaqla, GPLv2 lisenziyası altında OpenJDK icra sənədlərinin buraxılmasıdır. Bu lisenziya Java Runtime Environment-i necə yerləşdirə biləcəyinizlə bağlı heç bir məhdudiyyət qoymur.

Bununla belə, JDK-nın işlənib hazırlanması və buraxılmasında dəyişikliklər tətbiqlərin Java-nın yeni versiyalarına köçürülməsi planlarının diqqətlə nəzərdən keçirilməsini tələb edir. Bu yeni buraxılış cədvəli ilə bir çox əvvəlki buraxılışlar üçün yeniləmələrin mövcud olmasını təmin etmək səyləri mümkün olmaya bilər. İki fərqli istifadəçi qrupunun (yeni funksiyaları tez tələb edənlər və uzunmüddətli sabitliyi qiymətləndirənlər) ehtiyaclarını ödəmək üçün Oracle uzunmüddətli dəstək (LTS) modelinə keçməyə qərar verdi. JDK-nın xüsusi versiyaları LTS buraxılışları hesab olunacaq, yəni onlar üç il ərzində yeniləmələr alacaqlar. Bütün digər ara buraxılışlar Xüsusiyyət buraxılışları adlanır və yalnız 6 ay ərzində yeniləmələr alır. Bu yeni sistemlə sinxronlaşmaq üçün JDK 8 LTS buraxılışı kimi təsnif edildi. Növbəti buraxılış 2018-ci ilin sentyabrına planlaşdırılan JDK 11 olacaq. Bu yeni modelin gətirdiyi ən böyük dəyişiklik buraxılışlar arasındakı yeniləmələrin artıq vaxtla üst-üstə düşməyəcəyidir . Mən onu xüsusi olaraq qalın kursivlə qoydum, çünki bu tamamilə aydın idi. Budur, JDK 19-a qədər JDK buraxılışları üçün yeniləmələrin mövcudluğunu göstərən qrafik.
JDK - 2-nin yeni versiyalarının tez-tez buraxılması nəyə gətirib çıxaracaq?
Şəkildə: Java SE Lifecycle – 5+ İllik cədvəl İctimai yeniləmələr sıfır üst-üstə düşür (“Dəstək Cliff”) Oracle Kommersiya Dəstəyi Oracle Genişləndirilmiş Kommersiya Dəstəyi
Java SE Lifecycle - 5+ İl Cədvəli İctimai Yeniləmələr Sıfır Vaxt Üst-üstə düşür Oracle-dan İctimai İcraedicilər (Dəstək yoxdur) Oracle Kommersiya Dəstəyi Oracle Genişləndirilmiş Kommersiya Dəstəyi
Bu dəyişikliklərin birbaşa nəticəsi olaraq Java platforması hələ də stabil, təhlükəsiz və pulsuzdur, lakin indi bu üç xüsusiyyətdən ikisini seçməlisiniz. Gələcək Java yerləşdirmələrində hər üç xüsusiyyət eyni vaxtda mövcud olmayacaq.

Bir az daha izah edim

Deyək ki, siz təhlükəsizliklə bağlı narahatsınız (olduğunuz kimi), amma pul xərcləmək istəmirsiniz. Bu halda, yeni JDK versiyaları buraxılan kimi onlara köçməlisiniz. Dəstəyin vaxtında üst-üstə düşmədiyi hallarda (Funksiya və LTS buraxılışları), yeni təhlükəsizlik düzəlişləri almaq üçün bunu etməli olacaqsınız. Təəssüf ki, vaxtın üst-üstə düşməsi olmadan dərhal istehsalda hələ sınaqdan keçirilməmiş JDK buraxılışlarına keçməli olacaqsınız, buna görə də əvvəlki sabitliyi itirəcəksiniz. Başqa bir seçim, sıfır xərclə sabitliyi seçməkdir. Yenə də bu mümkündür: yenisi buraxıldıqdan sonra əvvəlki LTS versiyasından istifadə etməyə davam etmək kifayətdir. Siz tanış olduğunuz sabitliyi əldə edirsiniz, heç nə ödəməli deyilsiniz, lakin bu buraxılış üçün artıq mövcud olmadığı üçün heç bir təhlükəsizlik yaması əldə etməyəcəksiniz. Nəhayət, sabitlik və təhlükəsizlik istəyirsinizsə, ödəməlisiniz. Siz əvvəlki LTS buraxılışından istifadə etməyə davam edə bilərsiniz, lakin təhlükəsizlik və səhvlərin aradan qaldırılmasına giriş yalnız kommersiya dəstək müqaviləsi vasitəsilə mümkün olacaq.

Və müəllifdən kiçik bir reklam bloku :)

Azul (mənim şirkətim) Zulu Enterprise brendi altında mənbədən qurulmuş, TCK/JCK meyarları ilə sınaqdan keçirilmiş və hətta səhv başlıq faylları səbəbindən açıq mənbə kodu pozulmaması üçün inkişaf etdirdiyimiz kommunal proqramlarla təhlil edilmiş bir sıra OpenJDK icraedici proqramlar yaratmışdır. . Maraqlananlar üçün cari versiyanı pulsuz yükləmək imkanı, həmçinin kommersiya dəstəyi təqdim edirik. Biz bu yaxınlarda Zulu dili üçün müştərilərə maksimum çeviklik təmin etməyə yönəlmiş yeni dəstək seçimləri təklif etməyə başladıq. Biz istifadəçilərə biznes və müştəri ehtiyaclarına uyğun JDK-nın yeni versiyasına keçmək imkanı vermək istəyirik. Bunun üçün üç dəstək variantını təqdim edirik:
  1. Qısamüddətli dəstək (STS). STS istifadəçilərə daha yeni JDK buraxılışlarına rəvan keçid üçün kifayət qədər dəstəyi ilə yeni Java xüsusiyyətlərinə ən sürətli çıxış imkanı verir. Zulu Enterprise 12 ay ərzində səhv düzəlişlərinə, təhlükəsizlik yeniləmələrinə və lazım olduqda digər düzəlişlərə (“istehsal dəstəyi”), üstəgəl konsaltinq dəstəyinə və istifadəçilərin JDK-nın daha yeni versiyasına miqrasiyasına kömək etməyə yönəlmiş 6 aylıq əlavə dəstək olan STS buraxılışlarını təmin edir. ("genişləndirilmiş dəstək"). Bu, 18 aylıq həyat dövrünə bərabərdir.

  2. Orta müddətli dəstək (MTS). MTS relizləri sizə yeni LTS buraxılışını gözləmədən istehsalda olan xüsusiyyət relizlərində mövcud olan yeni funksiyalardan istifadə etməyə imkan verir. Azul LTS buraxılışları arasında ildə bir MTS buraxılışını planlaşdırır və növbəti ümumi mövcudluq LTS buraxılış tarixindən sonra 18 ay ərzində istehsal dəstəyi təmin edir. Bu, istehsalın yerləşdirilməsi zamanı vaxtın üst-üstə düşməsini və "hamar" keçidi təmin edir. İstehsal dəstəyi başa çatdıqdan sonra əlavə 12 ay uzadılmış dəstək verilir.

  3. Uzunmüddətli dəstək (LTS). O, OpenJDK icması tərəfindən LTS hesab edilən buraxılışlar üçün təmin edilir və əlavə iki il uzadılmış dəstək ilə 8 illik istehsal dəstəyi təmin edir.
Bunu daha aydın etmək üçün başqa bir rəsm var.
JDK - 3-ün yeni versiyalarının tez-tez buraxılması nəyə gətirib çıxaracaq?
Şəkildə: Java SE Lifecycle – 5+ İllik cədvəl Oracle İctimaiyyətə açıq ikili proqramlar (dəstəklənmir) Oracle Kommersiya Dəstəyi Oracle Genişləndirilmiş Kommersiya Dəstəyi Azul Zulu İstehsalına Kommersiya Dəstəyi Azul Zulu Genişləndirilmiş (Passiv) Kommersiya Dəstəyi
Java SE Lifecycle - Oracle-dan 5+ illik Cədvəli İctimai İcraedicilər (dəstək yoxdur) Oracle Kommersiya Dəstəyi Azul Zulu-dan Oracle Genişləndirilmiş Kommersiya Dəstəyi Azul Zulu-dan Genişləndirilmiş (Passiv) Kommersiya Dəstəyi
Əgər siz hazırda JDK 8-dən kommersiya dəstəyi müqaviləsi olmadan istifadə edirsinizsə və ictimai yeniləmələr vasitəsilə sisteminizi sabit və təhlükəsiz saxlayırsınızsa, sentyabr ayından başlayaraq nə edəcəyinizi düşünmək istəyə bilərsiniz. Azul bu işdə sizə kömək etmək niyyətindədir, ona görə də dəstəyə ehtiyacınız olarsa, bizimlə əlaqə saxlamaqdan çəkinməyin.

nəticələr

Java platformasının bir neçə aspekti bu il dəyişir, əksəriyyəti yaxşılığa doğru dəyişir. Yeni funksiyalara daha sürətli giriş, Uçuş Qeydiyyatçısı və Missiyaya Nəzarət kimi kommunal proqramların açıq buraxılışı, "Classpath" istisna olmaqla GPLv2 lisenziyası altında OpenJDK icra sənədlərinin buraxılması. Ancaq kədərli həqiqət budur ki, Java platforması üçün adi səxavətli pulsuz dəstək keçmişə çevrilir. Java hələ də sabit, təhlükəsiz və pulsuzdur. Bu üç keyfiyyətdən hansı ikisi sizin və istifadəçiləriniz üçün daha vacibdir?
JDK - 4-ün yeni versiyalarının tez-tez buraxılması nəyə gətirib çıxaracaq?

Müəllif haqqında

Saymon Ritter Azul Systems şirkətinin texniki direktorunun müavinidir. Simon 1984-cü ildən İT biznesindədir və Böyük Britaniyanın Brunel Universitetində fizika üzrə bakalavr dərəcəsinə malikdir.

Simon 1996-cı ildə Sun Microsystems-ə qoşuldu və həm Java-nın inkişafı, həm də konsaltinq sahəsində vaxt keçirdi. 1999-cu ildən o, həm əsas Java platformasına, həm də müştəri və quraşdırılmış proqramlara diqqət yetirməklə, tərtibatçılara Java texnologiyalarını nümayiş etdirir. İndi Azul Systems-də o, insanlara Java və Azul-un JVM məhsullarını daha yaxşı başa düşməyə kömək etməyə davam edir. Onu Twitter-də izləyə bilərsiniz: @speakjava .

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION