Docker Architecture – Engine, Containerd, runc

People often get confused when looking at the Docker architecture at what the various components do. In this article I will attempt to demystify a few components. The latest docker version when writing this article is 18.09. Here’s an overall hierarchy of Docker The heart of Docker is the docker engine. 1. Docker Engine The … Read more

Javadoc tool

Introduction to javadoc command The javadoc tool is used to create nicely formatted documents from java source code. The tool can be found in the bin directory of java . The tool uses a ‘doclet’ to convert java source code into a document. The standard doclet produces an HTML document but you can have doclets … Read more

Java 9 Jlink

What does the Java 9 JLink tool do The java 9 JLink tool enables you to create a runtime application by assembling a specific set of modules. With this tool, Java 9 now has the capability to create an application that works even if you don’t have the JRE installed. JLink creates a minimal JRE … Read more

Java 9 JShell

Java 9 JShell Command line tool. The Java 9 JShell tool allows you to write and evaluate Java expressions, statements and declarations on the command line via an interactive tool. To start JShell type in ‘jshell’ on the command line. If that does not work, make sure you have installed JDK 9 or 10 and … Read more

Java 9 project coin language changes

The Java 9 project coin language changes include diamond with anonymous classes, private methods in interfaces, removing ‘_’ as a single character identifier, @SafeVargs on private instance methods and effectively final variables as resources in try-wth-resources statement. 1. Diamond with anonymous classes Prior to Java 1.6, constructors did not have inferred type inference. This code … Read more

Java 9 Stack Walking API

What is the Stack Walking API The Java 9 Stack walking API provides an efficient way to walk the jvm stack. The existing methods Thread::getStackTrace() and Throwable::getStackTrace return an array of all stack frames and they do that by grabbing all the frames in the stack. This is performance intensive. The implementation is also allowed … Read more

Java 9 Enhancements to Stream and java.util.Arrays

In this tutorial we will cover the Java 9 enhancements to Stream and java.util.Arrays. The most important enhancements to stream are the takeWhile, dropWhile, ofNullable, and iterate methods. The enhancement to Arrays has been the new equals and mismatch method that allow comparing subset of arrays. We will look into the details of the new … Read more

Java 9 Collection factory and java 10 copyOf methods

The Java 9 collection factory methods and java 10 copyOf methods add functionalities to create immutableCollections. Before we discuss those methods, let us look at three concepts in collections i.e. View Collection, Unmodifiable collection and unmodifiable view collection. What is a View Collection? A view collection does not store elements but instead relies on a … Read more