Welcome to Bucaro TecHelp!

Bucaro TecHelp
HTTPS Encryption not required because no account numbers or
personal information is ever requested or accepted by this site

About Bucaro TecHelp About BTH User Agreement User Agreement Privacy Policy Privacy Site Map Site Map Contact Bucaro TecHelp Contact RSS News Feeds News Feeds

New Features In Java 9

In September 2017, Oracle released Java SE 9 with over 150 new features. The latest version of the widely used programming language comes with several new features and APIs to accelerate development of applications for both large and small devices. At the same time, the features provided by Java 9 help programmers to improve application's performance, security, and maintainability. Hence, it becomes essential for programmers to understand some of the key features provided by Java 9.

What Programmers Need to Know about Java 9

Module System

The developers can now use Better Support for HTML5 and JavaScript to divide JDK into multiple modules. Each modular JAR file contains a module descriptor. The developers can define interdependency of various modules through requires statements. The modularity makes it easier for programmers to run JVM modules smoothly on small devices that lack additional memory. At the same time, they can also run only the APIs and JVM modules required by the application.

Ahead-of-Time Compilation

Java 9 improves code compilation process significantly through ahead-of-time (AOT) compilation. The programmers can leverage AOT compilation compile Java classes into native code even before the virtual machine launches them. AOT compilation improves the performance of both large and small applications by overcoming major shortcomings of just-in-time (JIT) compilation. Unlike JIT compilation, AOT compilation ensures that no Java method remains uncompiled.

Real-Eval-Print-Loop Tool

Java 9 comes with a new real-eval-print-loop (REPL) command line tool - Shell. Shell is designed with features to evaluate declarative statements and expressions interactively. A programmer can use Shell to assess the quality of Java code before compilation. He can simply enter a piece of code and collect feedback. Shell even has the capability to complete tabs and add required terminal semicolons automatically. The new REPL tool makes Java compete with widely used programming languages like Python and Scala.

Better Support for HTML5 and JavaScript

The improved Javadoc documentation tool provided by Java 9 has the capability to generate HTML5 markup. Also, latest version of the programming language supports several new characters, blocks, and scripts as part of Unicode 8.0 encoding standard. At the same time, Java 9 comes with an improved and lightweight JavaScript engine that makes it easier for programmers to embed JavaScript code in Java applications. The developers can further enable ECMAScript code analysis in various IDEs and frameworks directly with the parser API for Nashorn's ECMAScript syntax tree provided by JDK.

Improved Stream API

While writing Java code, programmers use strings to express calculations. Java 8 accelerated stream processing by providing the Streams API. Java 9 comes with an improved version of the Streams API that enables developers to take and drop items from Stream based on specific conditions by adding methods. Also, the improved Streams API is designed with features to create a stream for nullable value and iterate over Stream elements.

Multi-Resolution Image API

Java 9 introduces a new interface - MultiResolutionImage - to create a single multi-resolution image by encapsulating multiple images with varying resolutions. The developers can further use the Multi-Resolution Image API provided by Java 9 to get various variants of a single image. Also, they can use the API to select a particular image based on the required resolution. Hence, the Java programmers can now use a single API to create a unified multi-resolution image and get resolution-specific image variants.

http://2 client API

Java 9 completely changed the way applications make HTTP calls. It replaces the HttpURLConnection API with a new HTTP client API. The HTTP client API supports both http://2 and WebSockets. However, the API is currently not a part of Java SE. It is implemented as an incubator module which lives under the jdk.incubtor namespace. But the HTTP client API supports the latest communication standards, while overcoming the shortcomings of the HttpURLConnection API.

RSS Feed RSS Feed


Follow Stephen Bucaro Follow @Stephen Bucaro


Java

Fire HD
[Site User Agreement] [Privacy Policy] [Site map] [Search This Site] [Contact Form]
Copyright©2001-2019 Bucaro TecHelp 13771 N Fountain Hills Blvd Suite 114-248 Fountain Hills, AZ 85268