Java 9Tag ArchiveSubscribe
java-variable-handles
Java 9 Variable Handles Demystified 1. Introduction Java 9 brought a number of new useful features for developers. One of those is the java.lang.invoke.VarHandle API – representing variable handles – which we’re going to explore in this article. 2. What are Variable Handles? Generally, a variable handle is just a… Continue Reading java-variable-handles
java9-stream-collectors
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
java-modules-decoupling-design-strategies
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
new-java-9
Java 9 New Features 1. Overview Java 9 comes with a rich feature set. Although there are no new language concepts, new APIs and diagnostic commands will definitely be interesting to developers. In this writeup we’re going to have quick, high level look at some of the new features; a… Continue Reading new-java-9
java-9-collections-factory-methods
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
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
project-jigsaw-java-modularity
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
java-9-compact-string
Compact Strings in Java 9 1. Overview Strings in Java are internally represented by a char[] containing the characters of the String. And, every char is made up of 2 bytes because Java internally uses UTF-16. For instance, if a String contains a word in the English language, the leading… Continue Reading java-9-compact-string
java-9-reactive-streams
Java 9 Reactive Streams 1. Overview In this article, we’ll be looking at the Java 9 Reactive Streams. Simply put, we’ll be able to use the Flow class, which encloses the primary building blocks for building reactive stream processing logic. Reactive Streams is a standard for asynchronous stream processing with… Continue Reading java-9-reactive-streams