Java 8

Merge Lists of Map to Map, Java 8 Style!

Today, while doing my work and having fun programming, I came across a problem that looked pretty easy in the beginning, but after starting doing it, had to take help of Google and read from different sites to get to a nice implementation. So, let’s look at the problem and how to solve it. The Problem Well, you guys probably already have guessed what the Continue Reading

Java concurrency: Reentrant Locks

Hello readers! Welcome to another blog in the Java concurrency series. Today, we are going to look at the Reentrant Locks in Java. What it is, how to use it, and mainly, what is the difference between using Reentrant Locks and synchronization. So, let’s dive straight into it. Reentrant Locks Reentrant locks work just like the synchronized locks in java, but have much more facilities Continue Reading

How to deal with Inheritance while using Lombok builder

Today, I came across a problem and found a beautiful solution for it, which is pretty much straight forward, but the problem may occur to anyone while using the Lombok Library for java. So let’s look at the problem. The Problem I have a class Person, which consists of some fields. It is annotated with the @Builder annotation of lombok, so that lombok can generate Continue Reading

Basics of Streams In Java8

Streams are introduced in java 8. It is defined in java.util.stream package. A stream is sequence of objects which supports various methods. That can be pipelined to produce the result. Features of Stream Stream is not a data structure. It takes input from various sources (like array, collection, data structure) performs an operation and gives output. It does not store element. It does not change Continue Reading

Concurrency API

Guide to Java 8 Concurrency API using Executors

Working with the Thread class in Java can be very tedious and error-prone. Due to this reason, Concurrency API was introduced back in 2004 with the release of Java 5 and then enhanced with every new Java release.The API is located in package java.util.concurrent. It contains a set of classes that make it easier to develop concurrent (multithreaded) applications in Java.  The executor services are one of the most Continue Reading

Future vs CompletableFuture in Java- #2

In our previous blog – Future vs CompletableFuture – #1, we compared Java 5’s Future with Java 8’s CompletableFuture on the basis of two categories i.e. manual completion and attaching a callable method. Now, we will be comparing them on the basis of next 3 categories i.e. Combining 2 CompletableFutures together Combining multiple CompletableFutures together Exception Handling Let’s have a look at each one of Continue Reading

Future vs CompletableFuture in Java – #1

This is Part 1 of Future vs CompletableFuture. In this blog we will be comparing Java 5’s Future with Java 8’s CompletableFuture on the basis of two categories i.e. manual completion and attaching a callable method. What is CompletableFuture? CompletableFuture is used for asynchronous programming in Java. Asynchronous programming is a means of writing non-blocking code by running a task on a separate thread than Continue Reading

Rules while working with stream in Java 8

First, let’s have a basic understanding of stream. Then we will have a look at the side effects that can occur while working with streams. Streams represent a sequence of objects from a source, which supports aggregate operations. One thing to be notified while working with streams  is that, aggregate operation (intermediate operations) are lazy evaluated i.e. they do not start processing the content of Continue Reading

Unit Testing vs. Component Testing in Lagom

Let’s first understand the basic difference between unit testing and component testing and then we will have a look at a practical application of unmanaged service in lagom with its test cases. Difference between Unit Testing and Component Testing Unit Testing involves testing of individual units(classes) to demonstrate that the program executes as per the specification and it validates the design and technical quality of Continue Reading

Lagom and Immutability

What is Lagom? Lagom is not in disguise anymore. Everyone who’s following on micro-service architecture knows about Lagom framework. Lagom is an open source framework built with the shifting from monoliths to micro-services-driven application architecture in mind. It abstracts the complexity of building, running and monitoring micro-services driven applications. The Lagom framework includes Java and Scala APIs to simplify development of microservices. Lagom helps us Continue Reading

Knoldus Pune Careers - Hiring Freshers

Get a head start on your career at Knoldus. Join us!