Java SE 13 versiyasi

Olti oylik rivojlanishdan so'ng, Oracle ozod etildi platforma JavaSE 13 (Java Platformasi, Standard Edition 13), ochiq manbali OpenJDK loyihasi mos yozuvlar dasturi sifatida ishlatiladi. Java SE 13 Java platformasining oldingi versiyalari bilan orqaga qarab muvofiqlikni saqlaydi; ilgari yozilgan barcha Java loyihalari yangi versiyada ishga tushirilganda oʻzgarishsiz ishlaydi. Oʻrnatishga tayyor Java SE 13 tuzilmalari (JDK, JRE va Server JRE) tayyorlangan Linux (x86_64), Solaris, Windows va macOS uchun. OpenJDK loyihasi tomonidan ishlab chiqilgan ma'lumotnomani amalga oshirish Java 13 GPLv2 litsenziyasi ostida to'liq ochiq manba bo'lib, GNU ClassPath istisnolari bilan tijorat mahsulotlari bilan dinamik bog'lanish imkonini beradi.

Java SE 13 umumiy qoʻllab-quvvatlash versiyasi sifatida tasniflanadi va keyingi nashrga qadar yangilanishlarni olishda davom etadi. Uzoq muddatli qo'llab-quvvatlash (LTS) filiali Java SE 11 bo'lishi kerak, u 2026 yilgacha yangilanishlarni olishda davom etadi. Java 8 ning oldingi LTS filiali 2020-yil dekabrigacha qo‘llab-quvvatlanadi. Keyingi LTS versiyasi 2021-yil sentabriga rejalashtirilgan. Eslatib o'tamiz, Java 10-ning chiqarilishidan boshlab, loyiha yangi ishlab chiqish jarayoniga o'tdi, bu yangi nashrlarni shakllantirish uchun qisqaroq tsiklni nazarda tutadi. Doimiy ravishda yangilanib turadigan bitta asosiy bo'limda yangi funksiyalar ishlab chiqilgan bo'lib, u tayyor o'zgarishlarni o'z ichiga oladi va yangi relizlarni barqarorlashtirish uchun har olti oyda filiallar bo'linadi. Java 14 keyingi yilning mart oyida chiqarilishi rejalashtirilgan, oldindan ko'rish allaqachon ishlab chiqilgan mavjud sinov uchun.

dan innovatsiyalar Java 13 mumkin belgi:

  • Qo'shilgan CDS (Class-Data Sharing) arxivlarini dinamik qo'shishni qo'llab-quvvatlash, umumiy sinflarga umumiy ilovalarga kirishni ta'minlash. CDS yordamida umumiy sinflar alohida, umumiy arxivga joylashtirilishi mumkin, bu esa ilovalarni tezroq ishga tushirish va qo'shimcha xarajatlarni kamaytirish imkonini beradi. Yangi versiya dasturni bajarish tugagandan so'ng sinflarni dinamik arxivlash uchun vositalarni qo'shadi. Arxivlangan sinflar dastlab taqdim etilgan asosiy CDS arxivida bo'lmagan dasturning ishlashi davomida yuklangan barcha sinflar va ularga qo'shiladigan kutubxonalarni o'z ichiga oladi;
  • ZGC uchun (Z axlat yig'uvchi) qo'shildi foydalanilmagan xotirani operatsion tizimga qaytarishni qo'llab-quvvatlash;
  • Ishtirok etgan Legacy Socket API (java.net.Socket va java.net.ServerSocket) ning qayta ishlangan tatbiqi, uni saqlash va disk raskadrovka qilish osonroq. Bundan tashqari, taklif etilayotgan amalga oshirish Loom loyihasi doirasida ishlab chiqilgan foydalanuvchi makonida (tolalar) yangi iplar tizimi bilan ishlashga moslashish osonroq bo'ladi;
  • Davomi "o'tish" iboralarining yangi shaklini ishlab chiqish. "Switch" dan nafaqat operator ko'rinishida, balki ifoda sifatida ham foydalanish uchun eksperimental (Ko'rib chiqish) qobiliyati qo'shildi. Masalan, endi siz quyidagi kabi konstruksiyalardan foydalanishingiz mumkin:

    int numLetters = switch (kun) {
    ish DUShanba, juma, yakshanba -> 6;
    SEShanba -> 7 holat;
    ish payshanba, shanba -> 8;
    CHORShanba -> 9;
    };

    yoki

    System.out.println(
    kalit (k) {
    holat 1 -> "bir"
    holat 2 -> "ikki"
    standart -> "ko'p"
    }
    );

    Kelajakda, bu xususiyat asosida rejalashtirilgan naqshni moslashtirishni qo'llab-quvvatlashni amalga oshirish;

  • Qo'shilgan matn bloklarini eksperimental qo'llab-quvvatlash - blokdagi matnning asl formatini saqlamasdan va belgilardan qochishsiz ko'p qatorli matn ma'lumotlarini manba kodingizga kiritish imkonini beruvchi satrli harflarning yangi shakli. Blok uchta qo'sh tirnoq bilan o'ralgan. Misol uchun, ifoda o'rniga

    Satr so'rovi = "EMPLOYEE_TB"DAN `EMP_ID`, `SOXIRGI_NAME` NI TANLASH\n" +
    "WHERE `CITY` = 'INDIANAPOLIS'\n" +
    ""EMP_ID", "LAST_NAME" BO'YICHA BUYURTMA;\n";

    Endi siz qurilishdan foydalanishingiz mumkin:

    String so'rovi = """
    `EMPLOYEE_TB` dan `EMP_ID`, `LAST_NAME` NI TANLANING
    QAYER `Shahar` = 'INDIANAPOLIS'
    `EMP_ID`, `LAST_NAME` BO`YICHA BUYURTMA;
    """;

  • 2126 ta xato hisoboti yopilgan, ulardan 1454 tasi Oracle xodimlari tomonidan, 671 tasi esa uchinchi shaxslar tomonidan hal qilingan, shulardan oltidan bir qismi mustaqil dasturchilar tomonidan, qolganlari esa IBM, Red Hat, Google kabi kompaniyalar vakillari tomonidan amalga oshirilgan. , Loongson, Huawei, ARM va SAP.

Java SE 13 versiyasi

Manba: opennet.ru

a Izoh qo'shish