No matter the size of your company, Azul offers competitive pricing options to fit your needs, your budget, and your ambition.
No matter the size of your company, Azul offers competitive pricing options to fit your needs, your budget, and your ambition.
Java 13 is a non-LTS feature release following Java 12. It preceded Java 14 (March 2020). Java 13 reached end-of-life in March 2020 and receives no further updates.
| Release Date | September 17, 2019 |
| LTS | No |
| OpenJDK End-of-Life | March 17, 2020 |
| Notable For | Text Blocks preview, second preview of switch expressions |
Java 13 is end-of-life. Organizations running it should upgrade to a current LTS release: Java 17, Java 21, or Java 25.
Text Blocks (Preview, JEP 355)
Multi-line string literals delimited by triple quotes. Eliminates concatenated string literals with embedded \n escape sequences. Preserves indentation relative to the closing “””. Previewed in Java 13, finalized in Java 15 (JEP 378).
String json = “””
{
“name”: “Java 13”,
“status”: “eol”
}
“””;
Switch Expressions (Second Preview, JEP 354)
Re-previewed with modifications from the Java 12 preview (JEP 325). The Java 13 version added yield as a keyword for returning values from switch expression blocks, replacing the ambiguous break with a value. Finalized in Java 14 (JEP 361).
Reimplemented Legacy Socket API (JEP 353)
Replaced the underlying implementation of java.net.Socket and java.net.ServerSocket with a modern NIO-based implementation. The API surface is unchanged. The new implementation uses java.util.concurrent locks instead of synchronized methods, enabling better scalability and easier maintenance. Prepares the socket API for virtual threads (finalized in Java 21).
Dynamic CDS Archives (JEP 350)
Extends class-data sharing (CDS) to allow dynamic archiving at application exit. The JVM records loaded classes during execution and generates an archive on shutdown. Subsequent launches load the dynamic archive on top of the default CDS archive, improving startup time for application-specific classpaths.
ZGC: Uncommit Unused Memory (JEP 351)
ZGC now returns unused heap memory to the operating system. Previously, ZGC would hold allocated memory indefinitely, which was problematic in container environments and bursty workloads. The uncommit behavior is configurable via ZUncommitDelay.
Java 13 has been end-of-life since March 2020. No security patches or bug fixes are available. Recommended upgrade targets:
Run jdeps –jdk-internals against your Java 13 application to identify dependencies on encapsulated APIs before upgrading. The strong encapsulation introduced in Java 17 (JEP 403) is the most likely source of migration friction.
Azul Platform Core provides TCK-certified builds of current LTS releases with extended support. A single subscription covers all supported versions from Java 6 through Java 26.
Contact us to learn more about our migration services, support, modernization services, and more!