Professional Java: Advanced Techniques
Professional Java: Advanced Techniques
Summary:
The book "Professional Java: Advanced Techniques" is a practical guide for developers who have already mastered the basics of Java and want to move to the next level. The author, Alexey Sokolov, shares experience working with high-load systems, revealing the intricacies of the Java Virtual Machine (JVM), multithreading, and performance optimization.
What is this book about?
This is not another introduction to syntax. You will dive into the depths of the Java platform:
- Java Memory Model (JMM) — how threads, volatile, happens-before, and memory barriers actually work.
- Multithreading and Concurrency — from Thread and ExecutorService to Fork/Join and CompletableFuture. Analysis of race conditions, deadlocks, and lock-free algorithms.
- Garbage Collection — detailed analysis of GC (G1, ZGC, Shenandoah), tuning garbage collectors for low latency.
- Performance and Profiling — using JMH, JFR, VisualVM, Async Profiler. Finding bottlenecks, optimizing CPU cache and memory management.
- Advanced Patterns — object pools, Object Pooling, Flyweight, Reactor, Proactor, asynchronous chains, as well as a functional style with lambdas and Stream API.
- Architecture of High-Load Systems — caching (Caffeine, Hazelcast), working with databases (connection pools, batch operations), writing efficient network services on Netty.
Who is this book for?
- Java developers with 2-3 years of experience who want to deepen their knowledge.
- Engineers preparing for technical interviews at large companies (system design, JVM).
- Tech leads and architects who want to make informed decisions about performance and scaling.
What will you learn?
- How to write thread-safe code without unexpected locks.
- How to tune the JVM for a specific application (minimal GC pause, maximum throughput).
- How to profile an application and find memory leaks.
- How to apply modern patterns for asynchronous and reactive programming.
- How to build systems that can handle thousands of requests per second.
The book contains many real-world examples, ready-to-use snippets, and exercises. Each chapter ends with practical assignments to reinforce the material. If you want to stop being just a "Java user" and become an engineer who understands the inner workings of the platform — this book is for you.
Note: the book is focused on Java 17+ and modern versions of frameworks (Spring Boot 3, Micronaut, Quarkus). All code examples are available in the repository on GitHub.