Loading...

Latest Posts

Performance September 20, 2023

Your Java Application in Detail: Performance Analysis with JMX and JDK Mission Control

When it comes to analyzing the performance or behavior of a Java application, Java Management Extensions (JMX) is a valuable tool. In this article, we will explore how you can utilize JMX to profile your application, particularly with the use of JDK Mission Control (JMC).

JMX: A Quick Overview

JMX provides a simple and standardized method for monitoring and managing Java applications. With JMX, you can access various metrics and information about your JVM and even adjust real-time settings.


Performance August 9, 2023

The Optimal Thread-Pool Size in Java: Explaining the Formula

Determining the optimal size of a thread pool in Java is crucial to maximizing CPU and resource utilization. This decision depends on many factors. Here, we’ll show you how to use the famous formula from Brian Goetz’s “Java Concurrency in Practice.” We’ll give you a practical example of how to calculate the ratio of wait time to compute time (W/C).

The Formula

The formula for the optimal size of a thread pool is:


Performance June 16, 2023

How to Monitor Your Spring Boot Application with Spring Actuator and Micrometer

In the world of application development using Spring Boot, it’s crucial to focus not just on the development aspect but also on performance monitoring. In this extensive guide, we’ll explore the steps to set up monitoring for your Spring Boot application using Spring Actuator and Micrometer, and how to employ Prometheus and Grafana for effective metrics handling and visualization.

Understanding Spring Boot Monitoring

Monitoring forms an essential part of ensuring the health of an application. It allows developers to verify the smooth running of the system and detect any potential issues. In the context of Spring Boot, several tools, such as Spring Actuator and Micrometer, make application monitoring an effortless process.


Performance June 12, 2023

Goodbye Performance Issues: How Project Loom Eliminates Asynchrony

Anyone who develops a backend application with more than a handful of users knows that most performance problems are related to I/O. In modern web applications, these are typically network calls. Whether it’s REST requests to another service, queries to an external database, or communication with middleware. We handle all these cases - consciously or unconsciously - in asynchronous threads. This way, we no longer block the main thread. Doing this correctly is not trivial. Project Loom will be released in September with Java 21. Virtual threads will enable us to write our programs entirely sequentially. And yet, we are still making optimal use of our resources. But what opportunities does this open up for the Spring ecosystem and how will it affect us in the future?


Top