New Stream Collectors in Java 9 1. Overview Collectors were added in Java 8 which helped accumulate input elements into mutable containers such as Map, List, and Set. In this article, we’re going to explore two new collectors added in Java 9: Collectors.filtering and Collectors.flatMapping used in combination with Collectors.groupingBy… Continue Reading java9-stream-collectors

Design Strategies for Decoupling Java Modules 1. Overview The Java Platform Module System (JPMS) provides stronger encapsulation, more reliability and better separation of concerns. But all these handy features come at a price. Since modularized applications are built upon a network of modules that depend on other modules to properly… Continue Reading java-modules-decoupling-design-strategies

Java 9 Convenience Factory Methods for Collections 1. Overview Java 9 brings the long-awaited syntactic sugar for creating small unmodifiable Collection instances using a concise one line code. As per JEP 269, new convenience factory methods will be included in JDK 9. In this article, we’ll cover its usage along… Continue Reading java-9-collections-factory-methods

Java 9 CompletableFuture API Improvements 1. Introduction Java 9 comes with some changes to the CompletableFuture class. Such changes were introduced as part of JEP 266 in order to address common complaints and suggestions since its introduction in JDK 8, more specifically, support for delays and timeouts, better support for… Continue Reading java-9-completablefuture

Introduction to Project Jigsaw 1. Introduction Project Jigsaw is an umbrella project with the new features aimed at two aspects: the introduction of module system in the Java language and its implementation in JDK source and Java runtime In this article, we’ll introduce you to the Jigsaw project and its… Continue Reading project-jigsaw-java-modularity