A Guide to JGit
1. Introduction JGit is a lightweight, pure Java library implementation of the Git version control system – including repository access routines, network protocols, and core version control...
View ArticleCreating PDF Files in Java
1. Introduction In this quick article, we’ll focus on creating PDF document from scratch based on popular iText and PdfBox library. 2. Maven Dependencies Let’s take a look at the Maven dependencies,...
View ArticleGuide to Pattern Matching in Javaslang
1. Overview In this article, we are going to focus on Pattern Matching with Javaslang. If you do not know what about Javaslang, please read the Javaslang’s Overview first. Pattern matching is a...
View ArticleOverview of AI Libraries in Java
1. Introduction In this article, we’ll go over an overview of Artificial Intelligence (AI) libraries in Java. Since this article is about libraries, we’ll not make any introduction to AI itself....
View ArticleGuide to Spring Email
1. Overview In this article, we’ll walk through the steps needed to send emails from both a plain vanilla Spring application as well as from a Spring Boot application, the former using the JavaMail...
View ArticleMessaging With Spring AMQP
1. Overview In this article, we will explore Messaging-based communication over AMQP protocol using Spring AMQP framework. First, we’ll cover some of the key concepts of messaging, and we’ll move on...
View ArticleGuide to Guava Multimap
1. Overview In this article, we will look at one of Map implementations from Google Guava library – Multimap. It is a collection that maps keys to values, similar to java.util.Map, but in which each...
View ArticleExceptions in Java 8 Lambda Expressions
1. Overview In Java 8, Lambda Expressions started to facilitate functional programming by providing a concise way to express behavior. However, the Functional Interfaces provided by the JDK don’t deal...
View ArticleJAX-RS is just an API!
1. Overview The REST paradigm has been around for quite a few years now and it’s still getting a lot of attention. A RESTful API can be implemented in Java in a number of ways: you can use Spring,...
View ArticleGuide to Spring Retry
1. Overview Spring Retry provides an ability to automatically re-invoke a failed operation. This is helpful where the errors may be transient in nature (like a momentary network glitch). Spring Retry...
View ArticleGuide to the Guava BiMap
1. Overview In this tutorial, we’ll show how to use the Google Guava’s BiMap interface and its multiple implementations. A BiMap (or “bidirectional map”) is a special kind of a map which maintains an...
View ArticleJava Web Weekly, Issue 160
Lots of solid reactive focused talks this week. Here we go… 1. Spring and Java >> Java 10 Could Bring Upgraded Lambdas [infoq.com] A short report about a cool possible enhancement of Lambda...
View ArticleIterable to Stream in Java
1. Overview In this short tutorial, let’s convert a Java Iterable object into a Stream and perform some standard operations on it. 2. Converting Iterable to Stream The Iterable interface is designed...
View ArticleConcurrency with LMAX Disruptor – An Introduction
1. Overview This article introduces the LMAX Disruptor and talks about how it helps to achieve software concurrency with low latency. We will also see a basic usage of the Disruptor library. 2. What...
View ArticleA Guide to LinkedHashMap in Java
1. Overview In this article, we are going to explore the internal implementation of LinkedHashMap class. LinkedHashMap is a common implementation of Map interface. This particular implementation is a...
View ArticlefindFirst() and findAny() in the Java 8 Stream API
1. Introduction The Java 8 Stream API introduced two methods that are often being misunderstood: findAny() and findFirst(). In this quick tutorial, we will be looking at the difference between these...
View ArticleSpring Cloud Sleuth in a Monolith Application
1. Overview In this article, we’re introducing Spring Cloud Sleuth – a powerful tool for enhancing logs in any application, but especially in a system built up of multiple services. And for this...
View ArticleJSON Processing in Java EE 7
1. Overview This article will show you how to process JSON using only core Java EE, without the use of third-party dependencies like Jersey or Jackson. Pretty much everything we’ll be using is...
View ArticleGuide to Guava RangeSet
1. Overview In this tutorial, we’ll show how to use the Google Guava’s RangeSet interface and its implementations. A RangeSet is a set comprising of zero or more non-empty, disconnected ranges. When...
View ArticleSimple Inheritance with Jackson
1. Overview In this tutorial, we’re going to take a look at inheritance and in particular how to handle JSON serialization and deserialization of Java classes that extend a superclass. In order to get...
View Article