Over a million developers have joined DZone.

My Top Java 9 Features

DZone's Guide to

My Top Java 9 Features

Now that Java 9 is out, check out one dev's favorite features that came with the update and how they have helped his work.

· Java Zone ·
Free Resource

Build vs Buy a Data Quality Solution: Which is Best for You? Gain insights on a hybrid approach. Download white paper now!

But now Java 9 is released, and this post takes a look at my top Java 9 features, which I will expand on in future posts.

New Features

A full list of Java 9 features can be found here, but the features I am most interested in are:

  • Java Platform Modularity System (JPMS): Prior to Java 9, you could pretty much access any public class on your classpath. This made it difficult to truly encapsulate APIs. Java 9’s JPMS seeks to resolve this through a module descriptor – module-info.java – which defines module requirements and what it exports.
  • JShell: REPL (Read-Eval-Print-Loop), or Shells, have been a common feature of other languages for a while, and Java has finally introduced a Java Shells. This provides a great environment for experimenting with APIs.
  • HTTP/2 Client: This client provides HTTP 2.0 support in the Java platform and will replace the previous HttpURLConnection API. The key benefit of this is will result in improved performance over the HTTP 1.1 implementation.
  • Streams API: There are some updates to the Streams API, including takeWhile and dropWhile, which take/drop elements while a condition remains true.
  • Process API: The process API changes allow Java to manage OS processes without resorting to parsing the output of a call to System.exec. The simplest example is accessing the process Id, where we can now call:
int processId = ProcessHandle.current().pid();

  • Private Methods in Interfaces: Java 8 introduced default and static methods in interfaces, allowing us to add behavior to interfaces. Private methods build on this by allowing default methods to call private methods implementing shared behavior.

You can download Java 9 here

So, what are your favorite Java 9 features?

Build vs Buy a Data Quality Solution: Which is Best for You? Maintaining high quality data is essential for operational efficiency, meaningful analytics and good long-term customer relationships. But, when dealing with multiple sources of data, data quality becomes complex, so you need to know when you should build a custom data quality tools effort over canned solutions. Download our whitepaper for more insights into a hybrid approach.

java ,jpms ,jshell ,java 9

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}