Java 9 Module System, which is developed under Project Jigsaw, comes to us with the specific goal: to provide reliable configuration and strong flexible encapsulation. That helps application developers, library developers, or Java SE Platform implementors more easilier create a scalable platform, make greater platform integrity, and improve performance. In this tutorial, we’re gonna take a look at Java 9 Module System in a summarized way.
Java 9 defines a minimal logging API which platform classes can use to log messages, together with a service interface for consumers of those messages. In this tutorial, we’re gonna take a look at new Java 9 Platform Logging API and an example that implements LoggerFinder service which can route platform log messages to the logging framework for application logger instead of system logger.
JDK 9 provides a concrete Publisher named SubmissionPublisher that acts as a compliant Reactive Streams Publisher relying on drop handling and/or blocking for flow control. In this tutorial, we’re gonna take a look at SubmissionPublisher and an example that generates items for Subscribers.
In previous post, we have general knowledge about Reactive Streams and Java 9 Flow API Components and Behaviour. In this tutorial, we’re gonna look at an example that implements Publisher, Subscriber with Processor as a bridge for reactive programming.
In previous post, we have general knowledge about Reactive Streams and Java 9 Flow API Components and Behaviour. In this tutorial, we’re gonna look at an example that implements Publisher and Subscriber for reactive programming.
Java 9 introduces Reactive Streams under
java.util.concurrent.Flow that supports an interoperable publish-subscribe framework. In the tutorial, we’re gonna look at a general view of Reactive Streams and how it comes to Java 9 with some new Flow API Components.
Java 9 provides a common logging system for JVM components with extremely detailed level, an infrastructure to do the logging. With new command-line option
-Xlog for all logging followed settings, Unified JVM Logging gives us a precise, easy-to-configure tool to do a root cause analysis of complex system-level JVM components.
Javadoc is the tool that can generate documentation for API in HTML format. In previous version of JDK, it’s HTML 4.01 – an old standard. JDK 9 Javadoc now supports to generate HTML5 markup, improves search capability and Doclint.
Internationalization Enhancements for JDK 9 include: Unicode 8.0, UTF-8 Properties Files and enabling CLDR Locale Data by Default.
In earlier version of Java, Image I/O Framework
javax.imageio provides a standard way to plug-in image codecs for some formats such as PNG and JPEG. But TIFF is still missing from this set. It was packaged in
com.sun.media.imageio.plugins.tiff before. Java 9 TIFF Image I/O plugins has a new package called
javax.imageio.plugins.tiff which is renamed from
In this article, we’re gonna take a look at that package and test a simple example.
To improve Java Future, Java 8 provides CompletableFuture which can execute some code whenever its ready. In this article, we’re gonna take a look at new Java 9 CompletableFuture API that supports delay and timeout.
In this tutorial, JavaSampleApproach introduces Java 9 Multi-Resolution Images, a new API that allows a set of images with different resolutions (width and height) to be encapsulated into only one single image.
Java 7 has a new feature called Diamond Operator which helps to make code more readable, but it is still limited with Anonymous Inner Classes. In this article, JavaSampleApproach will introduce Java 9 Diamond Operator that can simplifies code and improves readability.
In this article, we’re gonna take a look at Java 9 Private Interface Method which helps us avoid duplicate code and keep encapsulation for interface.
Java 7 introduces a new approach for closing resources by try-with-resources statement. After that, Java 9 try-with-resources makes an improved way of writing code. Now we can simplify our code and keep it cleaner and clearer.
Related post: Java 7 – try-with-resources Statement