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.


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.


Top