Yes, you read it right! Official developments of Java 13 aims for improvements in garbage collection, text blocks, and application class-sharing data. The next version of standard Java is Java Development Kit 13, which has reached its second phase called ‘ramp down’.
Thus, as a result, all the new attributes and features are locked down. The jpackage tool missed the chance of getting added to the official list of JDK 13. It was a tool for packaging and self-containing applications of Java.
The Motive Behind JDK 13
As mentioned above, JDK 13 is finally on its way to the market. However, the project had many goals on adding text blocks to Java. So, what must be the motive behind this JDK 13? Let me give a brief idea about its motive to you for better information.
- The first and foremost aim of it was to make the writing of Java programs very simple and easy so that it can express strings connecting several lines of the source code. This will in return help them to avoid escape arrangements in most common cases.
- The next motive focuses on improving the readability of strings in programs. This basically indicates the code written in a non-Java language.
- Last but not the least goal of JDK 13 is to support shifting from string literals by stipulation. It is assumed that any new construction can justify and provide meaning to the same set of strings as a string literal. This interprets an escape arrangement similar to that of a string literal.
Raw string literals is a new feature which was proposed for JDK 13. But now the developers realized that their decision was wrong.
As raw string literals could span various lines of source code, it would be expensive enough to support un-escaped delimiters. The raw string literals were predicted for JDK 13 but were never supplemented officially to its said features.
In the course of the present ‘ramp down’ stage, Priority 1 bug will get fixed by Priority 3 bugs. As of now, Priority 4 & Priority 5 bugs will be left out. It may also happen that some Priority 1 & Priority 2 bugs may defer permission.
The upcoming stages of the release include a second ‘ramp down’ phase. It is scheduled to occur on July 18 and an introductory delivery of the same will be held on August 8.
Features of JDK 13
JDK 13 is on its way for its launch on September 17, 2019, and an initial release on August 8. Hence, to know more about it take a look into this section and get brief information regarding the official features reserved for JDK 13.
- Addition of text blocks in the preview stage. A text block is nothing but a multi-line string literal that rejects the need for the most escape strings. Additionally, it automatically formats the string in such a predictive manner that developers get control over its format easily.
- JDK 13 can execute legacy socket API again. This may include replacement of the implementations applied by the net. Socket & java.net.ServerSocket APIs. This will turn out to be easier in terms of debugging and maintaining. Also, this new method is supposed to be easier in adapting work using user-mode threads, which in other words known as fibers. You can explore them in Project Loom.
The above-mentioned legacy APIs backdate to JDK 1.0 and involves a Java code and legacy C which is difficult to troubleshoot and maintain. It also includes other issues such as supporting asynchronous closure of a native data structure. Thus, causing concurrency, reliability and porting issues which require an overhaul.
- A new feature of switch expressions is added in JDK 13. There was one in JDK 12, but a slight change was observed in it.
- They can enhance ZGC and convert it into an unused memory in the OS. ZGC is considered as a scalable and low-latency collector. At present, it does not return any unused memory to the OS even though the memory is unused for a long period.
- In order to enable dynamic and unique archiving of classes, they can extend application class-data at the end of application execution by sharing.
Download Beta JDK 13
You can now easily download the JDK 13 builds from the website. Unfortunately, the initial JDK 13 beta builds are made available for macOS, Windows, and Linux only. However, with time, more platforms will get access to it.
So by now, you must have understood the smooth progress of JDK 13. According to the JDK 13 schedule, the features will hit very soon on its above-mentioned launching day. Also, there will be no target for further JEPs in this release. So, the wait is over for all the Java users who were waiting to enjoy the benefits of Java 13.