Eugene Kovko

Eugene Kovko

How to Master JVM GC Threads? VM Options & Analysis

The garbage collection phase in Java applications is important for keeping performance high. Configuring garbage collector threads, including concurrent and parallel threads, can improve application performance. Be careful with manual thread configuration to avoid performance problems. Analyzing thread dumps can help monitor and enhance performance by identifying problem areas and fine-tuning settings.

Simplifying Thread Dump Analysis: A Comprehensive Guide

Monitoring applications for performance and issues is crucial to prevent financial losses and protect your reputation. Thread dumps are useful for checking thread health and performance. You can capture thread dumps using simple console tools like kill -3, jstack, and jcmd. Desktop tools like fastThread, jconsole, VisualVM, and JDK Mission Control provide more user-friendly interfaces. These tools help in detailed analysis and offer historical tracking to improve your applications.

How Does String Deduplication Work in Java?

This article discusses improving application performance by optimizing String memory usage in Java. It explains String allocation methods, the benefits of String.intern(), and introduces String deduplication during garbage collection. The analysis highlights trade-offs between space and time efficiency, urging careful consideration before implementing optimizations based on specific application needs and metrics.

Optimizing the Capacity of a HashMap

This article discusses how to optimize memory allocation in HashMaps by understanding the differences between allocation and mapping capacity. It emphasizes the importance of choosing the correct initial capacity, ideally a power of two, to mitigate space overhead and prevent performance degradation. Several formulas for calculating proper capacity are reviewed.