Performance of Java Applications
Оптимизация, профилирование и ускорение кода на Java
Resumo:
The book "Performance of Java Applications" is a comprehensive guide for developers who want to learn how to create fast, efficient, and scalable programs in Java. The author, Alexey Belov, shares practical techniques and proven approaches to diagnosing and eliminating performance bottlenecks.
The book covers key aspects of Java performance:
- Profiling and benchmarking: learn to use modern tools (JProfiler, VisualVM, JMH) for precise measurement of execution time, CPU load, and memory.
- Memory management and garbage collection (GC): understand the mechanisms of G1, ZGC, Shenandoah, tune heap sizes, minimize GC pauses, and avoid leaks.
- Multithreading and concurrency: master efficient use of thread pools, Fork/Join, CompletableFuture, and lock-free synchronization (Lock-Free, CAS).
- Code optimization: learn how to write code that the JIT compiler (C1/C2) can optimize to the maximum, and how to avoid expensive operations (allocations, reflection, exceptions).
- JVM and operating system tuning: get practical advice on selecting startup flags, tuning the OS kernel, and containerization (Docker/Kubernetes).
- Working with databases, network, and I/O: optimize JDBC queries, use asynchronous programming (Netty, Virtual Threads).
Recommendations
Arquitetura de aplicativos Swift (iOS/macOS). Padrões e práticas
Testando aplicações Go (Golang): de testes unitários a E2E
Arquitetura de Aplicações C++. Padrões, Idiomas e Melhores Práticas
Entrevista sobre Swift (iOS/macOS): 200 perguntas e respostas
Java e bancos de dados: guia prático
Introdução ao Go