JavaRush /Java Blog /Random-TL /Ano ang hahantong sa madalas na paglabas ng mga bagong be...

Ano ang hahantong sa madalas na paglabas ng mga bagong bersyon ng JDK?

Nai-publish sa grupo
Ito ay isang panahon ng pagbabago para sa Java. Ipapalabas na ngayon ang mga bersyon ng JDK sa isang iskedyul sa halip na kapag available na ang bagong functionality. Ang diskarte na ito ay may mga kalamangan at kahinaan nito, ngunit paano makakaapekto ang mga naturang pagbabago sa JDK 8? Ipinaliwanag ni Simon Ritter, kilalang Java evangelist, Java Champion at Associate CTO sa Azul Systems, kung bakit ang "bagong Java sa iskedyul" ay isang trade-off sa pagitan ng katatagan, seguridad at gastos.
Ano ang hahantong sa madalas na paglabas ng mga bagong bersyon ng JDK - 1
Sa 2018, naghihintay ang mga makabuluhang pagbabago sa mundo ng Java. Gaya ng inanunsyo noong nakaraang taon, lilipat kami sa pagre-release ng mga bersyon ng JDK sa isang naka-iskedyul na batayan, sa halip na i-release ang mga bersyon habang nagiging available ang bagong functionality. Magandang balita ito dahil isasama na ngayon ang mga bagong feature sa mga release dahil handa na ang mga ito, at mas mabilis na magkakaroon ng access ang mga developer sa mga ito. Ang JDK 10 ay naka-iskedyul na ipalabas sa Marso, at pumasok na kami sa ikalawang yugto ng mga pag-aayos ng bug, kaya lahat ay nangyayari ayon sa plano. Ang Java Specification Request (JSR) ay nasa ilalim na ng aktibong pagbuo at magagamit para sa pampublikong komento. Mayroon pa ngang mga JDK enhancement proposal (JEP) na nagta-target na sa JDK 11 . Mukhang maganda ang takbo ng Java.

Nagbabago ang panahon

Gayunpaman, mayroong maraming iba pang mga pagbabago na nauugnay sa iskedyul ng paglabas na ito na makikita sa taong ito, at maaaring hindi kasing ganda. Sa loob ng 22 at kalahating taon, nasanay na kami sa katotohanan na ang Java, bilang isang platform, ay may tatlong pangunahing katangian na direktang nauugnay sa paraan kung paano ito sinusuportahan.
  1. Katatagan . Dati, ang mga tampok na idinagdag sa isang bagong release ng JDK, bagama't masusing nasubok, ay nangangailangan ng pagsubok sa produksyon. Nakatulong ito na matukoy ang mga pagkukulang na nangangailangan ng pagwawasto. Upang matiyak na ang mga user ay maaaring patuloy na gumana sa mga matatag na build habang sumusubok ng bago, ang mga update ay palaging bahagyang nagsasapawan sa oras.

    Kung titingnan natin ang huling ilang release simula sa JDK 6, makikita natin na ang mga update para sa JDK 5 ay patuloy na inilabas sa halos isa pang 3 taon (2 taon at 11 buwan kung eksakto). Sa pagpapakilala ng JDK 7, ang mga pampublikong update para sa JDK 6 ay inilabas sa loob ng isang taon at 9 na buwan. At ang mga update para sa JDK 7 ay inilabas sa loob ng 13 buwan ng paglabas ng JDK 8.


  2. Kaligtasan . Ang OpenJDK development at support teams, Oracle, at bago sila Sun Microsystems (ang kumpanyang lumikha ng Java, editor's note) ay palaging naglalagay ng seguridad sa platform sa unahan. Tulad ng naaalala mo, ang Java ay orihinal na inilaan para sa mga mobile device (sa partikular, ang mga Star7 PDA).



    Ang isa sa mga pangunahing layunin sa pag-unlad ay upang matiyak na ang code ay mailipat sa network at maisakatuparan nang ligtas. Regular na na-publish ang mga update para sa JDK, na kinabibilangan ng mga patch para sa mga natuklasang isyu sa seguridad. Kung i-install mo kaagad ang mga update na ito pagkatapos na mailabas ang mga ito, ganap kang magiging ligtas.


  3. Zero gastos . Isa sa mga magagandang bagay tungkol sa Java ay ito ay palaging isang libreng platform, kahit na bago ito inilabas bilang open source software noong 2006. Mayroong ilang mga paghihigpit sa kung saan maaaring gamitin ang Java nang walang royalty, ngunit ito ay palaging inilalapat sa mga mobile at naka-embed na application; para sa mga desktop client at enterprise server, ang kasalukuyang bersyon ng Java ay palaging libre. Isa sa mga pagbabagong ginagawa na sa JDK ay ang paglabas ng mga OpenJDK executable sa ilalim ng lisensya ng GPLv2 kasama ang "Classpath" exception. Ang lisensyang ito ay hindi nagpapataw ng anumang mga paghihigpit sa kung paano mo mai-deploy ang Java Runtime Environment.

Gayunpaman, ang mga pagbabago sa paraan ng pagbuo at paglabas ng JDK ay nangangailangan ng maingat na pagsasaalang-alang sa mga plano para sa paglilipat ng mga application sa mga bagong bersyon ng Java. Sa bagong iskedyul ng paglabas na ito, ang mga pagsisikap na tiyaking available ang mga update para sa maraming nakaraang release ay maaaring hindi magagawa. Upang matugunan ang mga pangangailangan ng dalawang magkakaibang grupo ng mga user (ang mga mabilis na humihiling ng mga bagong feature at ang mga nagpapahalaga sa pangmatagalang katatagan), nagpasya ang Oracle na lumipat sa isang modelo ng pangmatagalang suporta (LTS). Ang mga partikular na bersyon ng JDK ay ituturing na mga release ng LTS, ibig sabihin, makakatanggap sila ng mga update sa loob ng tatlong taon. Ang lahat ng iba pang intermediate na release ay tinatawag na Feature release at tumatanggap ng mga update sa loob lamang ng 6 na buwan. Upang manatiling naka-sync sa bagong system na ito, inuri ang JDK 8 bilang isang release ng LTS. Ang susunod na release ay ang JDK 11, na naka-iskedyul para sa Setyembre 2018. Ang pinakamalaking pagbabagong dulot ng bagong modelong ito ay ang mga update sa pagitan ng mga release ay hindi na magkakapatong sa oras . Partikular kong inilagay ito sa mga naka-bold na italics dahil ito ay ganap na malinaw. Narito ang isang graphic na nagpapakita ng pagkakaroon ng mga update para sa mga release ng JDK hanggang sa JDK 19.
Ano ang hahantong sa madalas na pagpapalabas ng mga bagong bersyon ng JDK - 2?
Sa figure: Java SE Lifecycle – 5+ Year timetable Ang mga pampublikong update zero overlap ("suporta Cliff") Oracle Commercial Support Oracle Extended Commercial Support
Java SE Lifecycle - 5+ Taon na Iskedyul ng Pampublikong Update Zero Time Overlap Public Executable mula sa Oracle (Walang Suporta) Oracle Commercial Support Oracle Extended Commercial Support
Bilang isang direktang resulta ng mga pagbabagong ito, ang platform ng Java ay matatag pa rin, ligtas, at libre, ngunit ngayon ay kailangan mong pumili ng dalawa sa tatlong tampok na ito. Sa hinaharap na mga pag-deploy ng Java, lahat ng tatlong property ay hindi magiging available nang sabay.

Hayaan akong magpaliwanag ng kaunti pa

Sabihin nating nag-aalala ka tungkol sa seguridad (tulad ng nararapat), ngunit ayaw mong gumastos ng pera. Sa kasong ito, kailangan mong lumipat sa mga bagong bersyon ng JDK sa sandaling mailabas ang mga ito. Sa mga kaso kung saan ang suporta ay hindi magkakapatong sa oras (Feature at LTS releases), kailangan mong gawin ito upang makatanggap ng mga bagong pag-aayos sa seguridad. Sa kasamaang palad, nang walang overlap na oras, kailangan mong agad na lumipat sa mga release ng JDK na hindi pa nasusuri sa produksyon, kaya mawawalan ka ng dating katatagan. Ang isa pang pagpipilian ay ang pumili ng katatagan sa zero cost. Muli, posible ito: ang kailangan mo lang gawin ay ipagpatuloy ang paggamit sa nakaraang bersyon ng LTS pagkatapos mailabas ang bago. Nakukuha mo ang parehong katatagan, hindi mo kailangang magbayad ng anuman, ngunit hindi ka makakakuha ng anumang mga patch ng seguridad dahil hindi na magagamit ang mga ito para sa paglabas na ito. Sa wakas, kung gusto mo ng katatagan at seguridad, kailangan mong magbayad. Maaari mong patuloy na gamitin ang nakaraang LTS release, ngunit ang access sa seguridad at mga pag-aayos ng bug ay magagamit lamang sa pamamagitan ng isang komersyal na kontrata ng suporta.

At isang maliit na bloke ng advertising mula sa may-akda :)

Ang Azul (aking kumpanya) ay lumikha ng isang hanay ng mga OpenJDK executable sa ilalim ng tatak ng Zulu Enterprise, na binuo mula sa pinagmulan, nasubok gamit ang mga pagsubok sa TCK/JCK, at kahit na sinuri gamit ang mga utility na binuo namin upang matiyak na walang open source code corruption dahil sa masamang header mga file. Nagbibigay kami ng pagkakataong i-download ang kasalukuyang bersyon nang libre, pati na rin ang komersyal na suporta para sa mga interesado. Nagsimula kaming mag-alok kamakailan ng bagong hanay ng mga opsyon sa suporta para sa Zulu, na naglalayong magbigay sa mga customer ng maximum na kakayahang umangkop. Gusto naming bigyan ang mga user ng kakayahang mag-migrate sa isang bagong bersyon ng JDK na nababagay sa kanilang negosyo at mga pangangailangan ng customer. Para dito, nagbibigay kami ng tatlong opsyon sa suporta:
  1. Panandaliang suporta (STS). Binibigyan ng STS ang mga user ng pinakamabilis na access sa mga bagong feature ng Java, na may sapat na suporta para sa isang maayos na paglipat sa mas bagong mga release ng JDK. Nagbibigay ang Zulu Enterprise sa mga release ng STS ng access sa mga pag-aayos ng bug, mga update sa seguridad, at iba pang mga pag-aayos kung kinakailangan (“suporta sa produksyon”) sa loob ng 12 buwan, kasama ang 6 na buwang karagdagang suporta na nakatuon sa suporta sa pagkonsulta at pagtulong sa mga user na lumipat sa mas bagong bersyon ng JDK ("pinalawig na suporta"). Ito ay katumbas ng 18 buwang ikot ng buhay.

  2. Middle-term na suporta (MTS). Nagbibigay-daan sa iyo ang mga release ng MTS na gumamit ng mga bagong feature na available sa mga feature release sa produksyon nang hindi na kailangang maghintay ng bagong release ng LTS. Nagpaplano si Azul ng isang release ng MTS bawat taon sa pagitan ng mga release ng LTS at nagbibigay ng suporta sa produksyon sa loob ng 18 buwan pagkatapos ng susunod na petsa ng release ng LTS sa pangkalahatan. Tinitiyak nito na magkakapatong ang oras at isang "smooth" na paglipat sa panahon ng pag-deploy ng produksyon. Pagkatapos ng suporta sa produksyon, may ibibigay na karagdagang 12 buwan ng pinalawig na suporta.

  3. Pangmatagalang suporta (LTS). Ito ay ibinibigay para sa mga release na itinuturing na LTS ng OpenJDK na komunidad at nagbibigay ng 8 taon ng suporta sa produksyon na may karagdagang dalawang taon ng pinalawig na suporta.
Narito ang isa pang guhit upang gawing mas malinaw.
Ano ang hahantong sa madalas na paglabas ng mga bagong bersyon ng JDK - 3?
Sa figure: Java SE Lifecycle – 5+ Year timetable Oracle Pampublikong available na binary (hindi suportado) Oracle Commercial Support Oracle Extended Commercial Support Azul Zulu Production Commercial Support Azul Zulu Extended (Passive) Commercial Support
Java SE Lifecycle - 5+ Year Schedule Public Executables mula sa Oracle (walang suporta) Oracle Commercial Support Oracle Extended Commercial Support Commercial Production Support mula sa Azul Zulu Extended (Passive) Commercial Support mula sa Azul Zulu
Kung kasalukuyan kang gumagamit ng JDK 8 nang walang komersyal na kontrata ng suporta at pinapanatili mong matatag at secure ang iyong system sa pamamagitan ng mga pampublikong update, maaaring gusto mong isipin kung ano ang iyong gagawin simula sa Setyembre. Nakatuon si Azul na tulungan ka dito, kaya huwag mag-atubiling makipag-ugnayan sa amin kung kailangan mo ng suporta.

mga konklusyon

Maraming aspeto ng Java platform ang nagbabago sa taong ito, karamihan sa mga ito para sa mas mahusay. Mas mabilis na pag-access sa mga bagong feature, bukas na pag-release ng mga utility gaya ng Flight Recorder at Mission Control, paglabas ng mga OpenJDK executable sa ilalim ng lisensya ng GPLv2 kasama ang "Classpath" exception. Ang malungkot na katotohanan, gayunpaman, ay ang karaniwang mapagbigay na libreng suporta para sa Java platform ay nagiging isang bagay ng nakaraan. Ang Java ay stable pa rin, secure at libre. Alin sa dalawang katangiang ito ang pinakamahalaga sa iyo at sa iyong mga user?
Ano ang hahantong sa madalas na pagpapalabas ng mga bagong bersyon ng JDK - 4?

tungkol sa may-akda

Si Simon Ritter ay Deputy Technical Director sa Azul Systems. Si Simon ay nasa IT business mula noong 1984 at may hawak na BSc sa Physics mula sa Brunel University sa UK.

Si Simon ay sumali sa Sun Microsystems noong 1996 at gumugol ng oras sa parehong Java development at pagkonsulta. Mula noong 1999, siya ay nagpapakita ng mga teknolohiya ng Java sa mga developer, na may pagtuon sa parehong pangunahing Java platform at client at naka-embed na mga application. Ngayon sa Azul Systems, patuloy niyang tinutulungan ang mga tao na mas maunawaan ang mga produkto ng JVM ng Java at Azul. Maaari mo siyang sundan sa Twitter: @speakjava .

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