An Introduction to ZGC: A Scalable and Experimental Low-Latency JVM Garbage Collector 1. Introduction Today, it’s not uncommon for applications to serve thousands or even millions of users concurrently. Such applications need enormous amounts of memory. However, managing all that memory may easily impact application performance. To address this issue,… Continue Reading jvm-zgc-garbage-collector

Metaprogramming in Groovy 1. Overview Groovy is a dynamic and powerful JVM language which has numerous features like closures and traits. In this tutorial, we’ll explore the concept of Metaprogramming in Groovy. 2. What is Metaprogramming? Metaprogramming is a programming technique of writing a program to modify itself or another… Continue Reading groovy-metaprogramming

Find the Registered Spring Security Filters 1. Overview Spring Security is based on a chain of servlet filters. Each filter has a specific responsibility and depending on the configuration, filters are added or removed. In this tutorial, we’ll discuss different ways to find the registered Spring Security Filters. 2. Security… Continue Reading spring-security-registered-filters

A Guide to ConcurrentMap 1. Overview Maps are naturally one of the most widely style of Java collection. And, importantly, HashMap is not a thread-safe implementation, while Hashtable does provide thread-safety by synchronizing operations. Even though Hashtable is thread safe, it is not very efficient. Another fully synchronized Map, Collections.synchronizedMap,… Continue Reading java-concurrent-map

Spring with Thymeleaf Pagination for a List 1. Overview  In this quick tutorial, we’ll build a simple application to display a list of items with pagination using Spring and Thymeleaf. For an introduction on how to integrate Thymeleaf with Spring, please take a look at our article here. 2. Maven Dependencies… Continue Reading spring-thymeleaf-pagination