JavaRush /Blog Jawa /Random-JV /Tren Jawa ing 2022: JDK 18 lan 19, Project Loom lan Data ...

Tren Jawa ing 2022: JDK 18 lan 19, Project Loom lan Data mesh

Diterbitake ing grup
Inggih, 2022 wis diwiwiti. Nalika akeh wong isih preian Taun Anyar karo sampanye lan Olivier, kita bakal ngomong babagan tren ing jagad Jawa. Mbok menawa iki bakal mbantu sampeyan nganalisa karir, sinau teknologi anyar, utawa nggawe rencana pangembangan kanggo taun sing bakal teka. Tren Jawa ing 2022: JDK 18 lan 19, Project Loom lan Data mesh - 1Spesialis lan dosen basa Jawa Andrey Rodionov, uga arsitek solusi ing EPAM lan ketua panitia program Devoxx Ukraina Oleg Tsal-Tsalko ngomong babagan apa sing nunggu Jawa ing 2022 lan ing mangsa ngarep.

Apa prospek Jawa ing 2022?

Tren Jawa ing 2022: JDK 18 lan 19, Project Loom lan Data mesh - 2Taun iki kita ngarepake rilis rong versi sabanjure: JDK 18 (ing Maret) lan JDK 19 (ing September). Prekara sing potensial menarik kanggo umume pangembang Java ing JDK 18 bisa uga kalebu:
  • Dibangun ing Simple Web Server, tanpa dhukungan kanggo wadhah servlet, sing bisa digunakake kanggo prototyping lan testing kanthi cepet, padha karo server web mini sing padha ing Python, Ruby, PHP.
  • Pencocokan pola terus nambah.
Kanggo JDK 19, wis ana Early-Access Build, nanging isih durung ana dhaptar resmi babagan apa sing direncanakake bakal dilebokake. Aku kaya pracaya sing JDK 19 bakal paling ora kalebu prototipe stabil pisanan Project Loom, kang draft specifications wis bubar muncul lan bangunan paling anyar adhedhasar JDK 19. Kita bakal pirembagan bab Project Loom ing luwih rinci ing ngisor iki.

Kanggo wilayah apa Jawa tetep dadi siji-sijine solusi, lan ing ngendi luwih disenengi?

Andrey Rodionov:

Begjanipun, kita ora bisa ngomong sing ora ana alternatif kanggo Jawa kanggo samubarang wilayah, nanging kita bisa pirembagan bab Jawa minangka jenis tegese emas kanggo ngembangaken aplikasi perusahaan, backends lan microservices. Iku uga worth kang lagi nyimak nomer nambah saka distribusi JDK beda saka vendor beda (kajaba Oracle): Amazon, Microsoft, Alibaba, Red Hat, Bellsoft (diadegaké déning wong saka Oracle Development Center ing St. Petersburg) lan liyane. Set lengkap distribusi kasedhiya ing kene . Tren Jawa ing 2022: JDK 18 lan 19, Project Loom lan Data mesh - 3Ana mesthi alternatif, nanging Jawa nemokake panggunaan paling gedhe ing backend ing pangembangan perusahaan. Umume perusahaan gedhe milih Jawa kanggo sistem gedhe lan kompleks. Alasane padha: jumlah pangembang lan keahlian ing pasar, ekosistem ageng lan platform JVM sing kuat.

Apa prospek basa jvm liyane, utamane Kotlin, dibandhingake karo Jawa?

Andrey Rodionov:

Kanggo ngerti basa JVM sing populer, bukak dokumentasi Spring, Micronaut, Vert.x lan deleng ing basa endi conto kode sing diwenehake - Jawa lan Kotlin bakal umum. Ora bisa dikandhakake yen ana transisi proyek gedhe menyang Kotlin, nanging popularitas kanggo backend terus berkembang lan akeh kerangka sing nyoba nyakup ing ekosistem kasebut. Kanggo Scala, versi anyar dirilis, lan luwih aktif digunakake kanggo ML, pangolahan data, lan ing ngendi paradigma pemrograman fungsional luwih trep.

Oleg Tsal-Tsalko:

Basa JVM liyane cukup atraktif lan saiki cukup normal kanggo proyek nggunakake sawetara basa pamrograman. Kayane kula alasan kenapa basa JVM anyar ora bisa ngganti Jawa kaya ing ngisor iki:
  • Padha ora dadi kelangan sing everyone mung bakal njupuk lan ngalih kanggo wong-wong mau.
  • Padha digunakake ing bagean sing padha karo Jawa.
  • Jawa mbaka sethithik njupuk sing paling apik saka basa liya lan dadi luwih apik.

Apa bakal ana penurunan kualitas Jawa amarga interval rilis sing luwih cendhek?

Oleg Tsal-Tsalko:

Aku ora. Paling ora saiki aku bisa ngenali perkara sing luwih positif saka rilis sing kerep. Kita weruh manawa fitur keren anyar katon luwih asring. Saiki sampeyan ora kudu ngenteni 5 taun kanggo sing anyar katon ing basa. Mesthine, saiki sampeyan ora ngarep-arep rilis gedhe kaya Java 8, amarga fitur saiki katon ing iterasi cilik.

Apa ana fitur ing versi anyar Jawa sing penting banget kanggo pangembang?

Oleg Tsal-Tsalko:

Versi Jawa paling anyar wis ngenalake sawetara fitur menarik kayata Pola Matching, Kelas Tertutup lan Rekaman. Aku nyaranake ndeleng kemampuane. Mesthi, fitur sing paling serius lan samesthine direncanakake ing Project Loom lan Project Valhalla, nanging aku mikir manawa fitur ing proyek kasebut uga bakal dirilis kanthi bertahap.

Spring framework: bakal terus nggedhekake ekosistem sing cocog karo macem-macem kabutuhan?

Andrey Rodionov:

Kanggo Spring Framework, pangembangane fokus kanggo ndhukung macem-macem fitur Spring Cloud lan kemampuan kanggo ngumpulake Spring Boot menyang binari asli - proyek Spring Native, sing direncanakake bakal dadi bagian saka Spring Core ing mangsa ngarep. Ing bab iki, Spring lagged konco Micronaut lan Quarkus amarga nggunakake aktif saka bayangan lan generasi kode dinamis. Babagan Spring Framework 6, aku menehi saran supaya sampeyan nonton laporan Spring 6 lan Beyond Apa anyar ing Spring Framework 6? saka konferensi Joker (saka Oleg Dokuka lan Alexey Nesterov). Sing penting yaiku transisi menyang JDK 17, nglirwakake Konfigurasi XML lan Autowire liwat setter, pangembangan luwih saka dhukungan Kotlin lan proyek Spring Fu.

Oleg Tsal-Tsalko:

Spring, minangka FW Jawa sing paling populer saiki, ora pengin nyerah. Aku yakin tim pangembang bakal nggawe upaya paling apik kanggo pangembangan Spring. Spring ngiseni liyane lan liyane niches. Contone, Spring wis nindakake akeh ing area Reactive Streams/Reactive Programming karo Project Reactor. Saiki dheweke promosi protokol RSoket, sing uga katon janjeni.

Marang kita babagan proyek Loom: kanggo apa, masalah apa sing diatasi?

Andrey Rodionov:

Project Loom mbokmenawa minangka inovasi sing paling menarik, sing bisa dadi owah-owahan tektonik anyar kanggo kabeh platform JVM lan kabeh basa ing ndhuwur JVM. Project Loom bisa uga ora mengaruhi pangembang biasa, nanging mesthi bakal mengaruhi kabeh ekosistem, perpustakaan, kerangka kerja, lan basa JVM liyane sing nggunakake multithreading. Project Loom ngenalake abstraksi utas anyar - utas virtual (analog karo coroutine). Yen sadurunge thread Jawa langsung disambungake menyang thread sistem operasi (OS), lan nggawe thread anyar ing Jawa mimpin kanggo nggawe thread OS anyar, banjur karo thread virtual sesambetan siji-kanggo-siji iki rusak. Nalika nggawe utas virtual anyar, utas OS anyar ora bakal digawe, lan salah sawijining benang operator sing diarani (sawetara jenis analog saka pool thread OS) bakal digunakake maneh kanggo ngetung langsung. Mangkono, sawetara utas virtual bisa mbukak ing ndhuwur siji utas OS. Kanggo tugas komputasi, model thread virtual iki ora menehi kaluwihan apa wae, lan luwih alon kacepetan kalkulasi, nanging kanggo operasi pamblokiran, kayata ngolah panjalukan HTTP, ngenteni respon saka database utawa saka microservices, model iki bakal dadi a kauntungan pinunjul. Kasunyatane yaiku kanthi model threading saiki, pamblokiran / nunggu ing thread Java nyebabake benang OS nganggur - iki minangka sampah sumber daya lan kudu nggawe luwih akeh benang OS. Ing model utas virtual, mblokir/nunggu ing utas virtual bakal njalari utas operator ing ndhuwur sing utas virtual kasebut diluncurake lan utas virtual liyane bakal mbukak. Kanthi cara iki, benang OS bakal digunakake kanthi luwih optimal lan luwih sithik sing dibutuhake kanggo nindakake tugas sing padha. Mulane, pabrikan perpustakaan, kerangka kerja lan basa JVM kudu ngganti kode kanggo benang virtual. Mulane, nulis ulang gedhe bakal teka kanggo wong-wong mau :) Saliyane model thread virtual, uga direncanakake kanggo ngenalake API anyar kanggo nyederhanakake orkestrasi benang - sing diarani konkurensi terstruktur. Saiki, contone, konkurensi terstruktur aktif digunakake ing Kotlin coroutines lan Scala ZIO. Sayange, versi JDK lan malah taun rilis Project Loom isih ora dingerteni. Nalika ditakoni babagan tanggal rilis, pangareping arsitek platform Java, Brian Goetz, mangsuli kanthi frasa filosofis: "Bakal siap, nalika bakal siap." Mula, kita ngenteni lan bisa nyoba mbangun eksperimen Project Loom .

Oleg Tsal-Tsalko:

Loom minangka proyek payung gedhe, ing ngendi tim OpenJDK lan Oracle nggarap inovasi Concurrency ing Jawa lan JVM: benang virtual, serat lan kelanjutan. Paling kamungkinan, release saka fitur iki bakal bertahap. Saiki mung ana Akses Awal sing dibangun kanggo dhukungan benang Virtual. Khusus babagan utas virtual, tujuan utamane yaiku nyederhanakake model pangembangan multi-thread ing Jawa kanthi nggunakake jutaan utas entheng kanthi semantik sing padha karo utas platform biasa. Ing hood, utas iki bakal dikelola ing ForkJoinPool lan digunakake maneh dening benang platform.

Apa ramalan pangembangan Jawa ing jagad tren global - layanan mikro, arsitektur awan, pamblokiran, AI?

Andrey Rodionov:

Yen kita ngomong babagan tren global, dheweke ora owah akeh. Kaya sadurunge, tren utama terus dadi Kubernetes lan infrastruktur ing saubengé ing wangun Service mesh . Data bolong uga entuk popularitas minangka jinis abstraksi kanggo ngatur sumber data lan panyimpenan sing disebarake.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION