Êîìïàíèÿ Axiom JDK (ÀÎ «Àêñèîì») îáúÿâëÿåò î âûïóñêå íîâîãî ðåëèçà îòå÷åñòâåííîé Java-ïëàòôîðìû Axiom JDK Pro 25 ñ äîëãîñðî÷íîé ïîääåðæêîé (LTS).  âåðñèè ðåàëèçîâàíî áîëåå 2800 óëó÷øåíèé â 18 îáëàñòÿõ, íàïðàâëåííûõ íà ïðîèçâîäèòåëüíîñòü, áåçîïàñíîñòü è óäîáñòâî ðàçðàáîòêè. Îá ýòîì CNews ñîîáùèëè ïðåäñòàâèòåëè Axiom JDK.
Íîâèíêà îòêðûâàåò äîñòóï ê âîçìîæíîñòÿì ÿçûêà Java è âèðòóàëüíîé ìàøèíû JVM, ïîâûøàåò çàùèùåííîñòü è ñíèæàåò ýêñïëóàòàöèîííûå ðàñõîäû äëÿ îðãàíèçàöèé, ñòðîÿùèõ êîðïîðàòèâíûå è êðèòè÷åñêèå ÈÒ-ñèñòåìû íà ðîññèéñêîì Java-ñòåêå. Axiom JDK Pro 25 áóäåò ïîääåðæèâàòüñÿ äî 2034 ã, ÷òî íà ãîä äîëüøå, ÷åì äðóãèå JDK.
Axiom JDK Pro 25 ñî÷åòàåò ñîâìåñòèìîñòü ñ ìèðîâûìè ñòàíäàðòàìè Java SE è òðåáîâàíèÿìè ðîññèéñêîãî çàêîíîäàòåëüñòâà ïî ðàçðàáîòêå áåçîïàñíîãî ÏÎ (ÃÎÑÒ Ð 56939–2024). Íîâûé ðåëèç ïîìîæåò îðãàíèçàöèÿì ñíèçèòü ðàñõîäû çà ñ÷åò îïòèìèçèðîâàííîãî èñïîëüçîâàíèÿ ðåñóðñîâ è óïðîùåííîãî ñîïðîâîæäåíèÿ ïðèëîæåíèé. Âìåñòî äîðîãîñòîÿùåé ìèãðàöèè íà íîâûå ïëàòôîðìû êîìïàíèè ïîëó÷àò óëó÷øåíèÿ ïðîèçâîäèòåëüíîñòè è áåçîïàñíîñòè «èç êîðîáêè», ñîõðàíÿÿ òåêóùóþ èíôðàñòðóêòóðó.
JDK 25 ñòàëà ïåðâîé LTS-âåðñèåé ñ äîëãîñðî÷íîé ïîääåðæêîé ïîñëå JDK 21, âûïóùåííîé äâà ãîäà íàçàä. Ýòî äåëàåò åå êëþ÷åâûì ðåëèçîì äëÿ êîìïàíèé, ïëàíèðóþùèõ äîëãîñðî÷íûå ïðîåêòû íà Java. LTS-ñòàòóñ ãàðàíòèðóåò ìíîãîëåòíþþ ïîääåðæêó, ñòàáèëüíîñòü è ñâîåâðåìåííûå îáíîâëåíèÿ áåçîïàñíîñòè, ÷òî îñîáåííî âàæíî äëÿ ÊÈÈ, ÇÎÊÈÈ, ãîñóäàðñòâåííûõ ñòðóêòóð è ôèíàíñîâîãî ñåêòîðà. Êîìàíäà Axiom JDK äåëàåò ïëàòôîðìó áîëåå áåçîïàñíîé è ýôôåêòèâíîé äëÿ ðàçðàáîòêè îòå÷åñòâåííûõ ñåðâèñîâ íà Java. Äëÿ îáåñïå÷åíèÿ íàäåæíîñòè êàæäàÿ ñáîðêà Axiom JDK Pro ïðîõîäèò 160 òûñ. òåñòîâ íà äåñÿòêàõ àïïàðàòíûõ êîíôèãóðàöèé.
«Java-ïðèëîæåíèÿ ëåæàò â îñíîâå êðèòè÷åñêè âàæíûõ ÈÒ-ñèñòåì â Ðîññèè, è äàæå êðàòêîâðåìåííûé ñáîé ìîæåò îáåðíóòüñÿ êîëîññàëüíûìè ïîòåðÿìè. Äëÿ êëèåíòîâ âûïóñê Axiom JDK Pro 25 — ýòî íå ïðîñòî íîâûé ðåëèç, à óâåðåííîñòü â ñòàáèëüíîé ðàáîòå è ñîáëþäåíèè òðåáîâàíèé ðåãóëÿòîðîâ. Ìû ïðåäëàãàåì ñîâðåìåííóþ, áåçîïàñíóþ è ïðîèçâîäèòåëüíóþ ïëàòôîðìó, êîòîðàÿ ñîîòâåòñòâóåò ìåæäóíàðîäíûì ñòàíäàðòàì è îáåñïå÷èâàåò íåçàâèñèìîñòü îò çàðóáåæíûõ ïîñòàâùèêîâ.  óñëîâèÿõ ïîñòîÿííûõ êèáåðóãðîç îáíîâëåíèå ñèñòåìíîãî ÏÎ — ýòî íåîáõîäèìîñòü, à íå îïöèÿ. Ìû áåðåì íà ñåáÿ âîïðîñû áåçîïàñíîñòè, ñîâìåñòèìîñòè è íàäåæíîñòè Java-ïëàòôîðìû, ÷òîáû çàêàç÷èêè ìîãëè ñîñðåäîòî÷èòüñÿ íà ðàçâèòèè áèçíåñà è âûñòðàèâàíèè äîëãîñðî÷íûõ ÈÒ-ñòðàòåãèé», — îòìåòèë Ñåðãåé Ëóíåãîâ, äèðåêòîð ïî ïðîäóêòàì Axiom JDK.
Êîìïàíèè, ðàáîòàþùèå íà ïðåäûäóùèõ LTS-âåðñèÿõ Java 8, 11, 17 èëè 21, ìîãóò ïëàíèðîâàòü ìèãðàöèþ íà Axiom JDK Pro 25 ñ ìèíèìàëüíûìè ðèñêàìè è ìàêñèìàëüíîé îòäà÷åé. Ïî äàííûì èññëåäîâàíèÿ Axiom JDK «Òðåíäû Java â Ðîññèè 2024», ïî÷òè 70% ðàçðàáîò÷èêîâ èñïîëüçóþò Java 17 (2021), ÷óòü áîëüøå òðåòè – Java 21 (2023), òðåòü – Java 11 (2018) è ïîëîâèíà - Java 8 (2014). Ïðè ýòîì áîëåå òðåòè ðåñïîíäåíòîâ èñïîëüçóþò äâå LTS-âåðñèè, à îêîëî ÷åòâåðòè – òðè.
Íîâûé ðåëèç ïîìîæåò íà÷èíàþùèì áûñòðåå îñâàèâàòü Java, à ïðîôåññèîíàëàì äàåò áîëüøå èíñòðóìåíòîâ äëÿ ðàçðàáîòêè íàäåæíûõ è ïðîèçâîäèòåëüíûõ ñèñòåì. Compact Source Files è íîâûå ïðàâèëà äëÿ main() ñíèæàþò ïîðîã âõîäà â ÿçûê. Structured Concurrency ïîçâîëÿåò ïðèìåíÿòü ìíîãîïîòî÷íîñòü áîëåå ïðåäñêàçóåìî è áåçîïàñíî. Óëó÷øåíèÿ â JFR ïîìîãàþò ãëóáæå, íàäåæíåå è ñ ìåíüøèìè íàêëàäíûìè ðàñõîäàìè ïðîôèëèðîâàòü ïðèëîæåíèÿ. À êðèïòîãðàôè÷åñêèå ðàñøèðåíèÿ äåëàþò ðàáîòó ñ êëþ÷àìè è ñåðòèôèêàòàìè áåçîïàñíåå è ïðîùå áåç ñòîðîííèõ áèáëèîòåê.
Íîâûå âîçìîæíîñòè Axiom JDK Pro 25
Äëÿ áåçîïàñíîñòè: ïîääåðæêà PEM-ôîðìàòà äëÿ ðàáîòû ñ êðèïòîãðàôè÷åñêèìè îáúåêòàìè (JEP 470); íîâûé API äëÿ ãåíåðàöèè ïðîèçâîäíûõ êëþ÷åé (KDF) (JEP 510); èñêëþ÷åíèå óñòàðåâøåé 32-áèòíîé àðõèòåêòóðû x86 (JEP 503).
Äëÿ ïðîèçâîäèòåëüíîñòè: óïðîùåííîå ñîçäàíèå AOT-êýøåé äëÿ óñêîðåíèÿ çàïóñêà ïðèëîæåíèé (JEP 514); ìåòîä-ïðîôàéëèíã AOT äëÿ ñîêðàùåíèÿ âðåìåíè ïðîãðåâà (JEP 515); êîìïàêòíûå çàãîëîâêè îáúåêòîâ, ýêîíîìèÿ ïàìÿòè è CPU (JEP 519); óëó÷øåííûé Shenandoah GC ñ äèíàìè÷åñêîé àäàïòàöèåé (JEP 521); Vector API v10 äëÿ óñêîðåííûõ âû÷èñëåíèé (JEP 508).
Äëÿ óäîáñòâà ðàçðàáîòêè: áåçîïàñíûé îáìåí äàííûìè ìåæäó ïîòîêàìè Scoped Values (JEP 506); ïðåäñêàçóåìàÿ ìíîãîïîòî÷íîñòü Structured Concurrency v5 (JEP 505); áûñòðûé ñòàðò è ïðîñòîå îáó÷åíèå Java áëàãîäàðÿ Compact Source Files è Instance Main Methods (JEP 512); èíèöèàëèçàöèÿ îáúåêòîâ Flexible Constructor Bodies (JEP 513); óïðîùåíèå ñîçäàíèÿ ïåðâûõ ïðîãðàìì ñ Module Import Declarations (JEP 511); óëó÷øåíèå ïðîôèëèðîâàíèÿ ñ ïîìîùüþ Java Flight Recorder (JFR) (JEP 509, 518, 520).
Axiom JDK Pro 25 ïðîäîëæàåò êóðñ íà ñîçäàíèå äîâåðåííîé ýêîñèñòåìû Java-òåõíîëîãèé äëÿ êîðïîðàòèâíûõ ñèñòåì, ãäå ñòàáèëüíîñòü è áåçîïàñíîñòü îïðåäåëÿþò óñòîé÷èâîñòü áèçíåñà. Êëèåíòû ìîãóò çàãðóçèòü íîâûé ðåëèç íà ïîðòàëå ïîääåðæêè, à ðàçðàáîò÷èêè – ïîëó÷èòü ñâîáîäíóþ âåðñèþ Axiom JDK 25 â ëè÷íîì êàáèíåòå lk.axiomjdk.ru èëè íà÷àòü èñïîëüçîâàòü â ðàìêàõ ïðîåêòà OpenIDE.


