Java SE 19 чыгаруу

Алты айлык иштеп чыгуудан кийин Oracle Java SE 19 (Java Platform, Standard Edition 19) платформасын чыгарды, ал OpenJDK ачык булак долбоорун маалымдама ишке ашыруу катары колдонот. Кээ бир эскирген функцияларды алып салууну кошпогондо, Java SE 19 Java платформасынын мурунку релиздери менен артка карай шайкештикти сактайт — мурда жазылган Java долбоорлорунун көбү жаңы версияда иштегенде эч кандай өзгөртүүсүз иштей берет. Java SE 19 (JDK, JRE жана Server JRE) орнотулчу түзүмдөрү Linux (x86_64, AArch64), Windows (x86_64) жана macOS (x86_64, AArch64) үчүн даярдалган. OpenJDK долбоору тарабынан иштелип чыккан, Java 19 маалымдама ишке ашыруу коммерциялык продуктылар менен динамикалык байланышты камсыз кылуу үчүн GNU ClassPath өзгөчө учурлары менен GPLv2 лицензиясы боюнча толугу менен ачык булак болуп саналат.

Java SE 19 үзгүлтүксүз колдоо релиз катары категорияга кирет, жаңыртуулар кийинки релизге чейин чыгарылат. Узак мөөнөттүү колдоо (LTS) бутагы Java SE 17 болушу керек, ал 2029-жылга чейин жаңыртууларды алат. Эске салсак, Java 10 чыгарылгандан баштап, долбоор жаңы иштеп чыгуу процессине өткөн, бул жаңы релиздерди түзүү үчүн кыскараак циклди билдирет. Жаңы функциялар азыр бир үзгүлтүксүз жаңыртылган башкы бутакта иштелип чыгууда, ал буга чейин аяктаган өзгөртүүлөрдү камтыган жана жаңы релиздерди турукташтыруу үчүн ар бир жарым жыл сайын бутактарга бөлүнөт.

Java 19дагы жаңы функциялар төмөнкүлөрдү камтыйт:

  • Жазуу үлгүлөрүн алдын ала колдоо сунушталды, ал Java 16да киргизилген үлгүлөрдү дал келүү функциясын рекорддук класстардын маанилерин талдоо куралдары менен кеңейтет. Мисалы: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Linux түзүмдөрү RISC-V архитектурасына колдоо көрсөтөт.
  • Тышкы китепканалардан функцияларды чакыруу жана JVMден тышкаркы эстутумга жетүү аркылуу Java программаларынын тышкы код жана маалыматтар менен өз ара аракеттенүүсүн уюштурууга мүмкүндүк берген FFM (Тышкы функция жана эс тутум) API үчүн алдын ала колдоо кошулду.
  • Виртуалдык жиптерге колдоо кошулду, алар жеңил жиптер болуп саналат, алар жогорку өндүрүмдүүлүктөгү көп жиптүү тиркемелерди жазууну жана тейлөөнү абдан жөнөкөйлөтөт.
  • X86_64 жана AArch64 процессорлорунда вектордук инструкцияларды колдонуу менен аткарылуучу жана операцияларды бир эле учурда бир нече маанилерге (SIMD) колдонууга мүмкүндүк берүүчү вектордук эсептөөлөр үчүн функцияларды камсыз кылган Vector API төртүнчү алдын ала көрүү сунушталды. HotSpot JIT компиляторунда скалярдык операцияларды автовекторизациялоо үчүн берилген мүмкүнчүлүктөрдөн айырмаланып, жаңы API маалыматтарды параллелдүү иштетүү үчүн векторизацияны ачык башкарууга мүмкүндүк берет.
  • "Которуу" туюнтмаларында үлгү дал келүүнүн үчүнчү эксперименталдык ишке ашырылышы кошулду, бул "касе" энбелгилерине так баалуулуктарды эмес, бир эле учурда бир катар маанилерди камтыган ийкемдүү үлгүлөрдү колдонууга мүмкүндүк берет, алар үчүн мурун түйшүктүү чынжырларды колдонуу зарыл болгон. "эгер... башка" туюнтмаларынын. Объект o = 123L; Стринг форматталган = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Структураланган параллелизм үчүн эксперименталдык API кошулду, ал ар түрдүү жиптерде иштеген бир нече тапшырмаларды бир блок катары кароо менен көп жиптүү тиркемелерди иштеп чыгууну жөнөкөйлөтөт.

Source: opennet.ru

Комментарий кошуу