Prepare Interview

Exams Attended

Mock Exams

Make Homepage

Bookmark this page

Subscribe Email Address

Difference between Java 13 and Java 14

Java 13 Java 14
Features Added:
- Switch Expressions: New yield statement got added. Using yield, we can now effectively return values from a switch expression. It's now easy to implement the strategy pattern using the new switch.

- Text Blocks: It is for multi-line Strings such as embedded JSON, XML, HTML, etc. Now there is no need to escape double quotes or to add a carriage return.

- Dynamic CDS Archives: Class data sharing (CDS) has been a prominent feature of Java HotSpot VM for a while now. It allows class metadata to be shared across different JVMs to reduce startup time and memory footprint.

- ZGC: It now returns uncommitted memory to the operating system by default, up until the specified minimum heap size is reached.
Features Added:
- Switch Expressions: It has been made standardized for production code.

- Text Blocks: Text blocks now have two new escape sequences on top of Java 13 features.

- Pattern Matching for instanceof: Pattern matching for instanceof with the aim of eliminating boilerplate code.

- Records: To reduce repetitive boilerplate code in data model POJOs. They simplify day to day development, improve efficiency and greatly minimize the risk of human error. The simple declaration (e.g. public record User(int id, String password) { };) will automatically add a constructor, getters, equals, hashCode and toString methods for us.

- NullPointerExceptions: Now Java has made this easier by adding the capability to point out which object exactly was null in a given line of code.

- Foreign Memory Access API: It is to allow Java programs to access foreign memory, such as native memory, outside the heap in a safe and efficient manner.

- Packaging Tool: Developers can use jlink to condense the JDK down to the minimum required modules, and then use this packaging tool to create a lightweight image that can be installed.

- ZGC: It was introduced in Linux during Java 11. Now got introduced in Windows as well as in macOS.

- NUMA-Aware Memory Allocation for G1: Non-uniform memory access (NUMA) was not implemented so far for the G1 garbage collector, unlike the Parallel collector. It got introduced to make the G1 collector NUMA-aware as well.

- JFR Event Streaming: JDK's flight recorder data is now exposed so that it can be continuously monitored.

Related differences

Java 12 vs Java 13Java 13 vs Java 14Java 14 vs Java 15
Is it helpful? Yes No

Get differences from below

©2023 WithoutBook