Bản phát hành Java SE 13

Sau sáu tháng phát triển, Oracle phát hành nền tảng JavaSE 13 (Nền tảng Java, Phiên bản tiêu chuẩn 13), dự án OpenJDK nguồn mở được sử dụng làm triển khai tham chiếu. Java SE 13 duy trì khả năng tương thích ngược với các bản phát hành trước của nền tảng Java; tất cả các dự án Java được viết trước đó sẽ hoạt động mà không có thay đổi khi chạy trong phiên bản mới. Các bản dựng Java SE 13 sẵn sàng cài đặt (JDK, JRE và Server JRE) chuẩn bị dành cho Linux (x86_64), Solaris, Windows và macOS. Triển khai tham khảo được phát triển bởi dự án OpenJDK Java 13 là nguồn mở hoàn toàn theo giấy phép GPLv2, với các ngoại lệ GNU ClassPath cho phép liên kết động với các sản phẩm thương mại.

Java SE 13 được phân loại là bản phát hành hỗ trợ chung và sẽ tiếp tục nhận được các bản cập nhật cho đến bản phát hành tiếp theo. Nhánh Hỗ trợ dài hạn (LTS) phải là Java SE 11, nhánh này sẽ tiếp tục nhận được các bản cập nhật cho đến năm 2026. Nhánh LTS trước đây của Java 8 sẽ được hỗ trợ cho đến tháng 2020 năm 2021. Bản phát hành LTS tiếp theo dự kiến ​​​​vào tháng 10 năm 14. Hãy để chúng tôi nhắc bạn rằng bắt đầu từ việc phát hành Java XNUMX, dự án đã chuyển sang một quy trình phát triển mới, ngụ ý rằng chu kỳ hình thành các bản phát hành mới sẽ ngắn hơn. Chức năng mới hiện được phát triển trong một nhánh chính được cập nhật liên tục, bao gồm các thay đổi được thực hiện sẵn và từ đó các nhánh được phân nhánh sáu tháng một lần để ổn định các bản phát hành mới. Java XNUMX dự kiến ​​phát hành vào tháng XNUMX năm sau, đã có bản xem trước có sẵn để thử nghiệm.

Của đổi mới Java 13 ai có thể dấu:

  • Thêm hỗ trợ bổ sung động các kho lưu trữ CDS (Chia sẻ dữ liệu lớp), cung cấp quyền truy cập ứng dụng dùng chung vào các lớp chung. Với CDS, các lớp thông thường có thể được đặt trong một kho lưu trữ chung, riêng biệt, cho phép các ứng dụng khởi chạy nhanh hơn và giảm chi phí hoạt động. Phiên bản mới bổ sung thêm các công cụ để lưu trữ động các lớp sau khi kết thúc quá trình thực thi ứng dụng. Các lớp được lưu trữ bao gồm tất cả các lớp và thư viện đi kèm được tải trong quá trình vận hành chương trình không có trong kho lưu trữ CDS cơ sở được cung cấp ban đầu;
  • Tới ZGC (Z Garbage Collector) thêm hỗ trợ trả lại bộ nhớ không sử dụng cho hệ điều hành;
  • Có liên quan triển khai được thiết kế lại của API Ổ cắm kế thừa (java.net.Socket và java.net.ServerSocket) để dễ bảo trì và gỡ lỗi hơn. Ngoài ra, việc triển khai được đề xuất sẽ dễ dàng thích ứng hơn để hoạt động với hệ thống luồng mới trong không gian người dùng (sợi), được phát triển như một phần của dự án Loom;
  • Tiếp theo phát triển một dạng biểu thức mới "chuyển đổi". Đã thêm khả năng thử nghiệm (Xem trước) để sử dụng “chuyển đổi” ở dạng không chỉ toán tử mà còn dưới dạng biểu thức. Ví dụ: bây giờ bạn có thể sử dụng các cấu trúc như:

    int numLetters = switch (ngày) {
    trường hợp THỨ HAI, THỨ SÁU, CHỦ NHẬT -> 6;
    trường hợp THỨ BA -> 7;
    trường hợp THỨ NĂM, THỨ BẢY -> 8;
    trường hợp THỨ TƯ -> 9;
    };

    hoặc

    System.out.println(
    chuyển đổi (k) {
    trường hợp 1 -> "một"
    trường hợp 2 -> "hai"
    mặc định -> "nhiều"
    }
    );

    Trong tương lai, dựa trên tính năng này đã lên kế hoạch thực hiện hỗ trợ khớp mẫu;

  • Thêm hỗ trợ thử nghiệm cho các khối văn bản - một dạng chuỗi ký tự mới cho phép bạn đưa dữ liệu văn bản nhiều dòng vào mã nguồn của mình mà không cần sử dụng tính năng thoát ký tự và giữ nguyên định dạng ban đầu của văn bản trong khối. Khối được đóng khung bởi ba dấu ngoặc kép. Ví dụ, thay vì biểu thức

    Truy vấn chuỗi = "CHỌN `EMP_ID`, `LAST_NAME` TỪ `EMPLOYEE_TB`\n" +
    "WHERE `THÀNH PHỐ` = 'INDIANAPOLIS'\n" +
    "ĐẶT HÀNG THEO `EMP_ID`, `LAST_NAME`;\n";

    Bây giờ bạn có thể sử dụng công trình:

    Truy vấn chuỗi = """
    CHỌN `EMP_ID`, `LAST_NAME` TỪ `EMPLOYEE_TB`
    Ở ĐÂU `THÀNH PHỐ` = 'INDIANAPOLIS'
    ĐẶT HÀNG THEO `EMP_ID`, `LAST_NAME`;
    """;

  • 2126 báo cáo lỗi đã bị đóng, trong đó 1454 báo cáo được giải quyết bởi nhân viên Oracle và 671 báo cáo do bên thứ ba giải quyết, trong đó XNUMX/XNUMX thay đổi được thực hiện bởi các nhà phát triển độc lập và phần còn lại do đại diện của các công ty như IBM, Red Hat, Google thực hiện. , Loongson, Huawei, ARM và SAP.

Bản phát hành Java SE 13

Nguồn: opennet.ru

Thêm một lời nhận xét