Java SE 13 release

After six months of development, Oracle released platform JavaSE 13 (Java Platform, Standard Edition 13), which uses the open source OpenJDK project as a reference implementation. Java SE 13 maintains backward compatibility with previous releases of the Java platform, and all previously written Java projects will work without changes when launched under the new version. Ready to install Java SE 13 builds (JDK, JRE and Server JRE) prepared by for Linux (x86_64), Solaris, Windows and macOS. Reference implementation developed by the OpenJDK project Java 13 fully open source under the GPLv2 license with GNU ClassPath exceptions allowing dynamic linking to commercial products.

Java SE 13 is categorized as a regular support release, with updates to be released before the next release. The Long Term Support (LTS) branch should be Java SE 11, which will receive updates until 2026. The previous Java 8 LTS branch will be supported until December 2020. The next LTS release is scheduled for September 2021. Recall that starting with the release of Java 10, the project switched to a new development process, which implies a shorter cycle for the formation of new releases. New functionality is now being developed in one constantly updated master branch, which incorporates already completed changes and from which branches are branched every six months to stabilize new releases. Java 14 is scheduled to be released next March, with pre-release builds already available for testing.

Of innovations Java 13 can Mark:

  • Added by support for dynamic addition of CDS (Class-Data Sharing) archives that provide shared application access to common classes. With CDS, common classes can be placed in a separate, shared archive, allowing applications to start up faster and reduce overhead. The new version adds tools for dynamic archiving of classes after the end of the application execution. Archived classes include all classes loaded during program operation and related libraries that were not in the initially provided base CDS archive;
  • To the ZGC garbage collector (Z Garbage Collector) added support for returning unused memory to the operating system;
  • Involved a redesigned implementation of the Legacy Socket API (java.net.Socket and java.net.ServerSocket) that is easier to maintain and debug. In addition, the proposed implementation will be easier to adapt to work with the new system of user-space threads (fibers) developed within the Loom project;
  • Continued development of a new form of expressions "switch". Added experimental (Preview) ability to use "switch" in the form of not only an operator, but also as an expression. For example, now you can use constructions of the form:

    int numLetters = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> 6;
    case TUESDAY -> 7;
    case THURSDAY, SATURDAY -> 8;
    case WEDNESDAY -> 9;
    };

    or

    System.out.println(
    switch (k) {
    case 1 -> "one"
    case 2 -> "two"
    default -> "many"
    }
    );

    In the future, based on this opportunity is planned implement support for pattern matching;

  • Added by experimental support for text blocks, a new form of string literals that allows you to include multi-line text data in the source code without using character escaping in them and preserving the original text formatting in the block. The block is framed with three double quotes. For example, instead of the expression

    String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    "WHERE `CITY` = 'INDIANAPOLIS'\n" +
    "ORDER BY `EMP_ID`, `LAST_NAME`;\n";

    Now you can apply the construction:

    String query = """
    SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
    WHERE `CITY` = 'INDIANAPOLIS'
    ORDER BY `EMP_ID`, `LAST_NAME`;
    """;

  • 2126 bug reports were closed, of which 1454 were resolved by Oracle employees, and 671 by third parties, of which a sixth of the changes were made by independent developers, and the rest by representatives of companies such as IBM, Red Hat, Google, Loongson, Huawei, ARM and SAP.

Java SE 13 release

Source: opennet.ru

Add a comment