Spring Remoting with RMI
1. Overview Java Remote Method Invocation allows invoking an object residing in a different Java Virtual Machine. It is a well-established technology yet a little cumbersome to use, as we can see in...
View ArticleIntro to Security and WebSockets
1. Introduction In a previous article, we showed how to add WebSockets to a Spring MVC project. Here, we’ll describe how to add security to Spring WebSockets in Spring MVC. Before continuing, make...
View ArticleA Guide to Apache Commons Collections CollectionUtils
1. Overview Simply put, the Apache CollectionUtils provides utility methods for common operations which cover a wide range of use cases and helps in avoiding writing boilerplate code. The library...
View ArticleIntroduction to Minimax Algorithm
1. Overview In this article, we’re going to discuss Minimax algorithm and its applications in AI. As it’s a game theory algorithm, we’ll implement a simple game using it. We’ll also discuss the...
View ArticleIntroduction to Vavr’s Either
1. Overview Vavr is an open source object-functional language extension library for Java 8+. It helps to reduce the amount of code and to increase the robustness. In this article, we’ll learn about...
View ArticleOverview of Kotlin Collections API
1. Overview In this quick tutorial, we’ll introduce the Kotlin’s Collections API, and we’ll discuss the different collection types in Kotlin and some common operations on collections. 2. Collection...
View ArticleA Guide to JUnit 5 Extensions
1. Overview In this article, we’re going to take a look at the extension model in the JUnit 5 testing library. As the name suggests, the purpose of Junit 5 extensions is to extend the behavior of test...
View ArticleDrools Spring Integration
1. Introduction In this quick tutorial, we’re going to integrate Drools with Spring. If you’re just getting started with Drools, check out this intro article. 2. Maven Dependencies Let’s start by...
View ArticleLazy Initialization in Kotlin
1. Overview In this article, we’ll be looking at one of the most interesting features in the Kotlin syntax – which is the lazy keyword – used for creating lazy-initialized objects. We will be also...
View ArticleJava Weekly, Issue 185
Lots of interesting writeups on Java 9 this week. Here we go… 1. Spring and Java >> Introducing Spring Cloud Function [spring.io] Spring has always adopted POJO-based approaches, now it’s time...
View ArticleVavr (ex-Javaslang) Support in Spring Data
1. Overview In this quick tutorial, we’re going to take a look at the support for Vavr in Spring Data – which was added in the 2.0.0 Spring build snapshot. More specifically, we’re going to show an...
View ArticleIntroduction to Chronicle Queue
1. Overview Chronicle Queue persists every single message using a memory-mapped file. This allows us to share messages between processes. It stores data directly to off-heap memory, therefore, making...
View ArticleIntroduction to Awaitlity
1. Introduction A common problem with asynchronous systems is that it’s hard to write readable tests for them that are focused on business logic and are not polluted with synchronizations, timeouts,...
View ArticleMigrating from JUnit 4 to JUnit 5
1. Overview In this article, we’ll see how we can migrate from JUnit 4 to the latest JUnit 5 release – with an overview of the differences between the two versions of the library. For the general...
View ArticleGuide to the HyperLogLog Algorithm
1. Overview The HyperLogLog (HLL) data structure is a probabilistic data structure used to estimate the cardinality of a data set. Suppose that we have millions of users and we want to calculate the...
View ArticleKotlin with Mockito
1. Introduction Kotlin and Java walk hand in hand. This means we can leverage the vast number of existent Java libraries in our Kotlin projects. In this short article, we’ll see how we can mock using...
View ArticleData Modeling in Cassandra
1. Overview Cassandra is a NoSQL database that provides high availability and horizontal scalability without compromising performance. To get the best performance out of Cassandra, we need to...
View ArticleAn Introduction to Atomic Variables in Java
1. Introduction Simply put, shared state very easily leads to problems when concurrency is involved. If access to shared mutable objects is not managed properly, applications can quickly become prone...
View ArticleApache Commons Collections MapUtils
1. Introduction MapUtils is one of the tools available in the Apache Commons Collections project. Simply put, it provides utility methods and decorators to work with java.util.Map and...
View ArticleMicrobenchmarking with the Java Microbenchmark Harness
1. Introduction This quick article is focused on JMH (the Java Microbenchmark Harness) – which is scheduled to become a part of JVM in the upcoming Java 9 release. Simply put, JMH takes care of the...
View Article