Measure test coverage using Jacoco
In this tutorial, we will explain what is test coverage, what is important regarding that topic, and at the end…
Unit testing Java architecture using ArchUnit
In this tutorial, I will show you how to unit test architecture of your Java application. This testing can be…
How does Spring autoconfiguration work?
In this tutorial, we will explain how Spring autoconfiguration works. Creating a simple Spring Boot application Let’s create a simple…
Spring vs Spring Boot
In this tutorial, we will explain the difference between Spring and Spring boot. We will create an application using only…
Microbenchmarking with Java
In this tutorial, we will explain how to properly perform a microbenchmarking of Java classes using Java Microbenchmark Harness(JMH). What…
Why do we need Java profilers?
In this tutorial, we will explain why we need Java profilers, and we will see visualvm (a very popular Java…
Single Responsibility principle – Explanation and the real-world example
Let’s first explain a single responsibility principle on the class example and later we will show how it applies in…
Compare the performance of AtomicLong and LongAdder classes
LongAdder class is added in Java 8. Official Java docs say: Under high contention, expected throughput of this class compared to AtomicLong is significantly…
How to improve the performance of your spring boot tests a lot
Imagine you have one hundred spring boot test classes. When you start all of your tests, what is your intention:…
How would you tune this SQL query?
Imagine having an index on person_id and you would like to perform the query: select bank_account_number from bank_account where person_id = :1…