After six months of development, Oracle has announced the platform (Java Platform, Standard Edition 13), with the OpenJDK open project serving as its reference implementation. Java SE 13 maintains backward compatibility with previous versions of the Java platform, meaning that all previously written Java projects will function without changes when run under the new version. The ready-to-install builds of Java SE 13 (JDK, JRE, and Server JRE) for Linux (x86_64), Solaris, Windows, and macOS. The reference implementation developed under the OpenJDK project is fully open under the GPLv2 license with exceptions from GNU ClassPath, allowing dynamic linking with commercial products.
Java SE 13 is categorized as a standard support release, with updates being issued until the next release. Java SE 11 should be used as the long-term support (LTS) branch, with updates available until 2026. The previous LTS branch, Java 8, will be supported until December 2020. The next LTS release is scheduled for September 2021. It's worth noting that starting with the Java 10 release, the project transitioned to a new development process featuring a shorter cycle for forming new releases. New functionality is now developed in a continuously updated master branch that includes ready changes, from which stabilization branches for new releases are branched off every six months. The release of Java 14 is planned for March next year, with preliminary builds already available for testing.
From :
- support for dynamically appending CDS (Class-Data Sharing) archives, enabling applications to share access to common classes. With CDS, common classes can be placed in a separate shared archive, speeding up application startup and reducing overhead. The new version adds tools for dynamically archiving classes once the application has completed execution. The classes placed in the archive include all classes loaded during the program's execution and related libraries that were not present in the originally provided base CDS archive;
- In the ZGC (Z Garbage Collector) supports returning unused memory to the operating system;
- A refined implementation of the Legacy Socket API (java.net.Socket and java.net.ServerSocket) that is easier to maintain and debug. Furthermore, the proposed implementation will be easier to adapt for use with the new fiber-based threading system developed in the Loom project;
- the development of the new form of expressions 'switch'. An experimental (Preview) capability has been added to use 'switch' not only as a statement but also as an expression. For example, you can now use constructions such as:
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, this capability will support pattern matching; experimental support for text blocks – a new form of string literals that allow including multi-line text data in source code without escaping characters and preserving the original formatting of the text in the block. The block is enclosed 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';
you can now use the construction:String query = '''
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = 'INDIANAPOLIS'
ORDER BY `EMP_ID`, `LAST_NAME`;
Closed 2126 bug reports, with 1454 resolved by Oracle employees and 671 by third-party participants, of which one-sixth of the changes were made by independent developers, while the rest were contributed by representatives from companies such as IBM, Red Hat, Google, Loongson, Huawei, ARM, and SAP.
«»»; - Microsoft has opened the code for the standard C++ library supplied with Visual Studio.
Source: opennet.ru
