Java SE 19 хувилбар

Зургаан сарын турш хөгжүүлсний дараа Oracle нь OpenJDK нээлттэй эхийн төслийг лавлагаа болгон ашигладаг Java SE 19 (Java Platform, Standard Edition 19) платформыг гаргасан. Зарим нэг хуучирсан функцуудыг хассанаас бусад тохиолдолд 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 лавлагааны хэрэгжилт нь GPLv2 лицензийн дагуу бүрэн нээлттэй эх сурвалж бөгөөд GNU ClassPath-ийн онцгой тохиолдлуудад арилжааны бүтээгдэхүүнтэй динамик холболт хийх боломжийг олгодог.

Java SE 19 нь байнгын дэмжлэгийн хувилбар гэж ангилагддаг бөгөөд дараагийн хувилбараас өмнө шинэчлэлтүүд гарах болно. Урт хугацааны дэмжлэг (LTS) салбар нь 17 он хүртэл шинэчлэлтүүдийг хүлээн авах Java SE 2029 байх ёстой. Java 10-ийг гаргаснаас хойш төсөл нь шинэ хөгжүүлэлтийн процесс руу шилжсэн бөгөөд энэ нь шинэ хувилбаруудыг бий болгох богино мөчлөгийг илтгэж байгааг санаарай. Байнга шинэчлэгдэж байдаг нэг мастер салбарт шинэ функцийг боловсруулж байгаа бөгөөд үүнд аль хэдийн дууссан өөрчлөлтүүд багтсан бөгөөд шинэ хувилбаруудыг тогтворжуулахын тулд зургаан сар тутамд салбаруудыг салбарладаг.

Java 19-ийн шинэ боломжууд:

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

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх