JavaRush /Блоги Java /Random-TG /Тамоюлҳои Java дар соли 2022: JDK 18 ва 19, Лоиҳаи Loom в...

Тамоюлҳои Java дар соли 2022: JDK 18 ва 19, Лоиҳаи Loom ва шабакаи маълумот

Дар гурӯҳ нашр шудааст
Хуб, соли 2022 оғоз шуд. Дар ҳоле ки аксари одамон ҳанӯз дар ҷашнҳои Соли нав бо шампан ва Оливье ҳастанд, мо дар бораи тамоюлҳои ҷаҳони Java сӯҳбат хоҳем кард. Шояд ин ба шумо дар таҳлor касбатон, омӯхтани технологияи нав ё таҳияи нақшаи рушд барои соли оянда кӯмак кунад. Тамоюлҳои Java дар соли 2022: JDK 18 ва 19, Лоиҳаи Loom ва шабакаи маълумот - 1Мутахассиси забони Java ва лектор Андрей Родионов, инчунин меъмори ҳалли EPAM ва роҳбари кумитаи барномаҳои Devoxx Ukraine Олег Цал-Цалко дар бораи он чизе, ки Java-ро дар соли 2022 ва ояндаи наздик интизор аст, суханронӣ карданд.

Дурнамои Java дар соли 2022 чист?

Тамоюлҳои Java дар соли 2022: JDK 18 ва 19, Лоиҳаи Loom ва Data mesh - 2Имсол мо интизори баровардани ду versionи навбатӣ ҳастем: JDK 18 (дар моҳи март) ва JDK 19 (дар моҳи сентябр). Барои аксари таҳиягарони Java дар JDK 18 эҳтимолан ҷолиб инҳоянд:
  • Веб-serverи дарунсохташуда, бе дастгирии контейнери сервлет, ки метавонад барои прототипсозии зуд ва озмоиш истифода шавад, ба монанди веб-serverҳои хурди шабеҳ дар Python, Ruby, PHP.
  • Мутобиқати намуна такмил дода мешавад.
Дар мавриди JDK 19, аллакай як Сохтани дастрасии барвақт вуҷуд дорад, аммо то ҳол рӯйхати расмии он чизе, ки ба он дохил карда мешавад, вуҷуд надорад. Ман мехостам бовар кунам, ки JDK 19 ҳадди аққал аввалин прототипи устувори Project Loom-ро дар бар мегирад, ки лоињаи мушаххасоти он ба наздикї пайдо шудааст ва охирини он ба JDK 19 асос ёфтааст. Мо дар бораи Project Loom муфассалтар дар зер гап мезанем.

Барои кадом соҳаҳо Java ягона роҳи ҳал боқӣ мемонад ва дар куҷо он афзалтар аст?

Андрей Родионов:

Хушбахтона, мо гуфта наметавонем, ки алтернативаи Java барои ягон соҳа вуҷуд надорад, аммо мо метавонем дар бораи Java ҳамчун як воситаи тиллоӣ барои таҳияи замимаҳои корпоративӣ, пуштибонӣ ва хидматрасонии хурд сӯҳбат кунем. Инчунин, афзоиши шумораи дистрибюсияҳои гуногуни JDK аз фурӯшандагони гуногун (ба истиснои Oracle): Amazon, Microsoft, Alibaba, Red Hat, Bellsoft (аз ҷониби одамони Маркази рушди Oracle дар Санкт-Петербург таъсис дода шудааст) ва ғайра қобor қайд аст. Маҷмӯи пурраи тақсимот дар ин ҷо дастрас аст . Тамоюлҳои Java дар соли 2022: JDK 18 ва 19, Лоиҳаи Loom ва Data mesh - 3Ҳамеша алтернативаҳо мавҷуданд, аммо Java истифодаи бештари худро дар пушти сар дар рушди корхона пайдо мекунад. Аксари ширкатҳои бузург Java-ро барои системаҳои калон ва мураккаби худ интихоб мекунанд. Сабабҳо якхелаанд: шумораи таҳиягарон ва таҷриба дар бозор, экосистемаи азим ва платформаи пурқудрати JVM.

Дигар забонҳои jvm, махсусан Котлин, нисбат ба Java чӣ гуна пешомадҳо доранд?

Андрей Родионов:

Барои фаҳмидани он ки кадом забонҳои JVM маъмуланд, танҳо ҳуҷҷатҳоро барои Spring, Micronaut, Vert.x кушоед ва бубинед, ки намунаҳои codeҳо дар кадом забонҳо дода шудаанд - Java ва Kotlin маъмул хоҳанд буд. Гуфтан мумкин нест, ки гузариши азими лоиҳаҳо ба Котлин вуҷуд дорад, аммо маъруфияти он барои пуштибонӣ афзоиш меёбад ва бисёр чаҳорчӯбаҳо кӯшиш мекунанд, ки онро ба экосистемаи худ дохил кунанд. Дар мавриди Scala, versionҳои нав бароварда мешаванд ва он минбаъд барои ML, коркарди додаҳо ва дар он ҷое, ки парадигмаи функсионалии барномасозӣ қулайтар аст, фаъолона истифода мешавад.

Олег Цал-Цалко:

Дигар забонҳои JVM хеле ҷолибанд ва имрӯзҳо барои лоиҳа истифодаи якчанд забони барномасозӣ комилан муқаррарӣ аст. Ба назари ман, сабабҳои забонҳои навбунёди JVM наметавонанд Java-ро иваз кунанд, инҳоянд:
  • Онҳо он қадар сард нестанд, ки ҳама онҳоро гирифта, ба онҳо мегузаранд.
  • Онҳо дар ҳамон сегменти Java истифода мешаванд.
  • Java тадриҷан беҳтарин забонҳои дигарро мегирад ва беҳтар мешавад.

Оё аз сабаби фосилаҳои кӯтоҳтари озодкунӣ сифати Java паст мешавад?

Олег Цал-Цалко:

Ба фикрам не. Ҳадди ақал ҳоло ман метавонам чизҳои мусбатро аз нашрҳои зуд-зуд муайян кунам. Мо мебинем, ки хусусиятҳои нави аҷиб бештар зуд-зуд пайдо мешаванд. Акнун ба шумо лозим нест, ки 5 сол интизор шавед, то чизи нав дар забон пайдо шавад. Албатта, ҳоло шумо набояд чунин релизҳои бузургеро ба мисли Java 8 интизор шавед, зеро хусусиятҳо ҳоло дар такрори хурд пайдо мешаванд.

Оё дар versionҳои нави Java хусусиятҳое мавҷуданд, ки махсусан барои таҳиягарон муҳиманд?

Олег Цал-Цалко:

Версияҳои охирини Java якчанд хусусиятҳои ҷолибро ба монанди Мутобиқсозии намуна, синфҳои мӯҳрдор ва сабтҳо муаррифӣ карданд. Ман тавсия медиҳам, ки қобorяти онҳоро дида бароем. Албатта, хусусиятҳои ҷиддӣ ва интизоршаванда дар доираи Project Loom ва Project Valhalla ба нақша гирифта шудаанд, аммо ман фикр мекунам, ки хусусиятҳо дар ин лоиҳаҳо низ тадриҷан бароварда мешаванд.

Чаҳорчӯбаи баҳорӣ: оё он минбаъд васеъ кардани экосистемаи худро барои мувофиқ кардани ниёзҳои гуногун идома медиҳад?

Андрей Родионов:

Дар мавриди чаҳорчӯбаи баҳорӣ, рушди он ба дастгирии хусусиятҳои гуногуни Spring Cloud ва қобorяти тартиб додани Spring Boot ба бинарҳои модарӣ - лоиҳаи Spring Native, ки ба нақша гирифта шудааст, дар оянда як қисми Spring Core бошад, тамаркуз кардааст. Дар ин робита, Spring аз Micronaut ва Quarkus аз ҳисоби истифодаи фаъоли инъикос ва тавлиди codeи динамикӣ қафо монд. Дар робита ба чаҳорчӯбаи баҳори 6, ман ба шумо маслиҳат медиҳам, ки гузоришро тамошо кунед Баҳори 6 ва пас аз он чӣ дар чаҳорчӯбаи баҳори 6 нав аст? аз конференцияи иокер (аз Олег Докука ва Алексей Нестеров). Гузариш ба JDK 17, даст кашидан аз конфигуратсияи XML ва Autowire тавассути танзимкунандагон, рушди минбаъдаи дастгирии Котлин ва лоиҳаи Spring Fu мебошанд.

Олег Цал-Цалко:

Баҳор, ҳамчун маъмултарин Java FW имрӯз, намехоҳад аз хурмо даст кашад. Боварӣ дорам, ки гурӯҳи таҳиягарон тамоми кӯшишҳои худро барои рушди баҳор сарф мекунанд. Бахор беш аз пеш нихоят пур мекунад. Масалан, Баҳор бо реактори лоиҳаи худ дар минтақаи ҷараёнҳои реактивӣ/барномасозии реактивӣ корҳои зиёдеро анҷом додааст. Ҳоло онҳо протоколи RSoket-ро пешбарӣ мекунанд, ки он ҳам умедбахш аст.

Дар бораи лоиҳаи Loom ба мо нақл кунед: он барои чӣ кор мекунад, кадом мушкилотро ҳал мекунад?

Андрей Родионов:

Project Loom эҳтимолан навоварии ҷолибтарин аст, ки метавонад як тағироти нави тектоникӣ барои тамоми платформаи JVM ва ҳама забонҳои болои JVM гардад. Project Loom метавонад ба таҳиягарони оддӣ он қадар таъсир нарасонад, аммо он бешубҳа ба тамоми экосистема, китобхонаҳо, чаҳорчӯбаҳо ва дигар забонҳои JVM, ки чанд риштаро истифода мебаранд, таъсир мерасонад. Project Loom абстраксияи риштаи навро ҷорӣ мекунад - риштаҳои виртуалӣ (аналогӣ ба корутинҳо). Агар қаблан як риштаи Java мустақиман ба риштаи системаи оператсионӣ (ОС) пайваст шуда бошад ва эҷоди риштаи нав дар Java боиси эҷоди риштаи нави ОС шуда бошад, пас бо риштаҳои виртуалӣ ин муносибати як ба як вайрон мешавад. Ҳангоми сохтани риштаи нави виртуалӣ риштаи нави ОС эҷод намешавад ва яке аз риштаҳои ба истилоҳ интиқолдиҳанда (як навъ аналоги ҳавзи риштаи ОС) барои иҷрои ҳисобҳои мустақим дубора истифода мешавад. Ҳамин тариқ, якчанд риштаҳои виртуалӣ метавонанд дар болои як риштаи OS кор кунанд. Барои вазифаҳои ҳисоббарорӣ, ин модели риштаҳои виртуалӣ ҳеҷ гуна бартарият намедиҳад ва баръакс суръати ҳисобҳоро суст мекунад, аммо барои бастани амалиётҳо, ба монанди коркарди дархостҳои HTTP, интизории посухҳо аз пойгоҳи додаҳо ё хидматҳои хурд, ин модел хоҳад буд. афзалияти назаррас. Гап дар он аст, ки бо модели ҷории ришта, бастан/интизории риштаи Java боиси бекористии риштаҳои ОС гардид - ин сарфи беҳудаи захираҳо буд ва эҷоди риштаҳои бештари OS-ро талаб мекард. Дар модели риштаи маҷозӣ, бастан/интизории риштаи маҷозӣ боиси он мешавад, ки риштаи интиқолдиҳанда, ки дар болои он риштаи маҷозӣ кор мекард, озод шавад ва риштаи дигари маҷозӣ дар он кор кунад. Ҳамин тариқ, риштаҳои OS бештар оптималӣ истифода мешаванд ва барои иҷрои вазифаҳои шабеҳ камтари онҳо лозим мешаванд. Мувофиқи он, истеҳсолкунандагони китобхонаҳо, чаҳорчӯбаҳо ва забонҳои JVM бояд рамзи худро барои риштаҳои виртуалӣ мутобиқ кунанд. Аз ин рӯ, барои онҳо бознависии бузурге дар пеш аст :) Илова ба модели риштаи виртуалӣ, инчунин ҷорӣ кардани API-и нав барои содда кардани оркестри ришта - ба истилоҳ ҳамоҳангсозии сохторӣ ба нақша гирифта шудааст. Ҳоло, масалан, ҳамоҳангсозии сохторӣ дар Kotlin coroutines ва Scala ZIO фаъолона истифода мешавад. Мутаассифона, versionи JDK ва ҳатто соли баровардани Project Loom то ҳол маълум нест. Вақте ки дар бораи санаи барориши он пурсиданд, сармеъмори платформаи Java, Брайан Гоетз бо ибораи фалсафӣ ҷавоб медиҳад: "Он омода хоҳад шуд, вақте ки он омода мешавад." Аз ин рӯ, мо интизорем ва метавонем сохтани таҷрибавии Project Loom -ро санҷем .

Олег Цал-Цалко:

Loom як лоиҳаи бузурги чатр аст, ки дар доираи он дастаи OpenJDK ва Oracle дар навовариҳои Concurrency дар Java ва JVM кор мекунанд: риштаҳои виртуалӣ, нахҳо ва идомаҳо. Эҳтимол, нашри ин хусусиятҳо тадриҷан хоҳад буд. Дар айни замон танҳо барои дастгирии риштаҳои виртуалӣ иншоотҳои дастрасии барвақт мавҷуданд. Махсусан дар бораи риштаҳои маҷозӣ сухан ронем, ҳадафи асосии он содда кардани модели рушди бисёрсоҳавӣ дар Java бо истифода аз миллионҳо риштаҳои сабук бо семантикаи ҳамон риштаҳои платформаи муқаррарӣ мебошад. Дар зери сарпӯш, ин риштаҳо дар дохor ForkJoinPool идора карда мешаванд ва аз ҷониби риштаҳои платформа дубора истифода мешаванд.

Пешгӯиҳо оид ба рушди Java дар ҷаҳони тамоюлҳои ҷаҳонӣ - микросервисҳо, меъмории абрӣ, blockchain, AI чӣ гунаанд?

Андрей Родионов:

Агар дар бораи тамоюлхои чахонй сухан ронем, онхо чандон тагьир наёфтаанд. Мисли пештара, тамоюли асосӣ Kubernetes ва инфрасохтори атрофи он дар шакли хидматрасонӣ боқӣ мемонад . Mesh маълумот инчунин ҳамчун як навъ абстраксия барои идоракунии манбаъҳои тақсимшудаи додаҳо ва анборҳо маъруфият пайдо мекунад .
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION