Basic IntelliJ Configuration
1. Overview A good IDE is important for developer productivity. IntelliJ is currently one of the leading IDEs and supports many programming languages. In this tutorial, we’ll start with some of the...
View ArticleIntroduction to Arrow in Kotlin
1. Overview Arrow is a library merged from KΛTEGORY and funKTionale. In this tutorial, we’ll look at the basics of Arrow and how it can help us harness the power of functional programming in Kotlin....
View ArticleA Guide to Constructors in Java
1. Introduction Constructors are the gatekeepers of object-oriented design. In this tutorial, we’ll see how they act as a single location from which to initialize the internal state of the object...
View ArticleThe Decorator Pattern in Java
1. Overview A Decorator pattern can be used to attach additional responsibilities to an object either statically or dynamically. A Decorator provides an enhanced interface to the original object. In...
View ArticleThe Difference Between JPA, Hibernate and EclipseLink
1. Introduction In this tutorial, we’ll be discussing Hibernate and the Java Persistence API (JPA) – with a focus on the differences between them. We’ll start by exploring what JPA is, how it’s used,...
View ArticleJava Weekly, Issue 256
Here we go… 1. Spring and Java >> How to parse a String into an EntityGraph with Hibernate 5.4 [thoughts-on-java.org] An overview of this handy new feature and you can now merge multiple entity...
View ArticleJava Interview Questions
1. Introduction This article contains answers for some of the most important job interview questions about core Java. The answers to some of them may not be obvious so this article will help to clear...
View ArticleRemoving Repeated Characters from a String
1. Overview In this tutorial, we’ll discuss techniques in Java to remove repeated characters from a string. For each technique, we’ll also talk briefly about its time and space complexity. 2. Using...
View ArticleGatling vs JMeter vs The Grinder: Comparing Load Test Tools
1. Introduction Choosing the right tool for the job can be daunting. In this tutorial, we’ll simplify this by comparing three web application load testing tools – Apache JMeter, Gatling, and The...
View ArticleIntroduction to RESTX
1. Overview In this tutorial, we’ll be taking a tour of the lightweight Java REST framework RESTX. 2. Features Building a RESTful API is quite easy with the RESTX framework. It has all the defaults...
View ArticleSorting Query Results with Spring Data
1. Introduction In this tutorial, we’re going to learn how to sort query results with Spring Data. First, we’ll take a look at the schema of the data that want to query and sort. And then, we’ll dive...
View ArticleAbstract Factory Pattern in Java
1. Overview In this article, we’ll discuss the Abstract Factory design pattern. The book Design Patterns: Elements of Reusable Object-Oriented Software states that an Abstract Factory “provides an...
View ArticleIntroduction to the Event Notification Model in CDI 2.0
1. Overview CDI (Contexts and Dependency Injection) is the standard dependency injection framework of the Jakarta EE platform. In this tutorial, we’ll take a look at CDI 2.0 and how it builds upon the...
View ArticleJava CyclicBarrier vs CountDownLatch
1. Introduction In this tutorial, we’ll compare CyclicBarrier and CountDownLatch and try to understand the similarities and differences between the two. 2. What Are These? When it comes to...
View ArticleJava equals() and hashCode() Contracts
1. Overview In this tutorial, we’ll introduce two methods that closely belong together: equals() and hashCode(). We’ll focus on their relationship with each other, how to correctly override them, and...
View ArticleGraphs in Java
1. Overview In this tutorial, we’ll understand the basic concepts of a graph as a data structure. We’ll also explore its implementation in Java along with various operations possible on a graph. We...
View ArticleRetrieving a Class Name in Java
1. Overview In this tutorial, we’ll learn about four ways to retrieve a class’s name from methods on the Class API: getSimpleName(), getName(), getTypeName() and getCanonicalName(). These methods can...
View ArticleLogging a Reactive Sequence
1. Overview With the introduction of Spring WebFlux, we got another powerful tool to write reactive, non-blocking applications. While using this technology is now way easier than before, debugging...
View ArticleCreate a Build Pipeline with Travis CI
1. Introduction In modern software development, the term pipeline gets used a lot. But what is it? Generally speaking, a build pipeline is a set of automated steps that move code from development to...
View ArticleJoin Array of Primitives with Separator in Java
1. Introduction In this quick tutorial, we’ll learn how to join an array of primitives with a single-character separator in Java. For our examples, we’ll consider two arrays: an array of int and an...
View Article