Victor Rentea
Java Champion, ex Lead Architect @IBM
Victor (@VictorRentea) is a Java Champion, and one of the top Technical Trainers, having trained more than 5000 developers in dozens of companies worldwide.
Victor’s talks are regularly top-rated at the largest international conferences in Europe: his live-coding sessions are lightning-fast but well crafted, full of enthusiasm, deep insights and take-away tips. His passion is Simple Design, Refactoring, and Unit Testing, about which he regularly talks at top conferences. His personal commitment is to seed passion for writing clean, professional code.
Victor’s talks are regularly top-rated at the largest international conferences in Europe: his live-coding sessions are lightning-fast but well crafted, full of enthusiasm, deep insights and take-away tips. His passion is Simple Design, Refactoring, and Unit Testing, about which he regularly talks at top conferences. His personal commitment is to seed passion for writing clean, professional code.
Workshop topic:
Java Performance
Time & Date:
October 26th & 27th | 9am-5pm CEST
Agenda
- Introduction:
o War stories from participants
o Key Concepts, Metrics and Questions
o Principles and Strategies to improve Performance o Typical bottlenecks of modern applications
- Multi-threading
o Thread Pools: mechanics, tuning parameters, typical usage scenarios
o Multi-threading Risks: race bugs, deadlocks, thread pool starvation
o [on request] Concurrency Primitives: Lock, Semaphore, CyclicBarrier, wait-notify o Concurrency Control: ‘synchronized’, atomic primitives, synchronized+concurrent collections o Exercise: Designing a thread-safe concurrent workflow
o Non-blocking concurrency with CompletableFutures Intro: fork/join, exceptions, applications o Spring support: ThreadPoolTaskExecutor, non-blocking HTTP Endpoints, @Async o Exercise: parallelizing a non-blocking REST API
o Parallel streams: mechanics, best practices, pitfalls - Tracing the Bottleneck:
o Profiling execution with Glowroot, Java Flight Recorder / Java Mission Control, Micrometer o Exercise: Using a “flame graph” to detect bottlenecks in a sample app
o Benchmarking with Gatling, jMeter, Java Measuring Harness
o JIT Compiler: mechanics, dynamic optimizations, writing JIT-friendly code - Memory Management
o Java Memory Model: old/young, metaspace, TLAB
o Garbage Collector: Key concepts, Monitoring, GC Types
o Techniques for using less memory
o Thread Local data: best practices, propagation over thread pools, pitfalls o Heap Dump analysis: retained/shallow heap, GC Roots, profiling allocations o Exercise: Tracing ten types of Memory Leaks
You can download the full program for this workshop at the following LINK.
* If you're interested in this program, please contact us at info@itkonekt.com to find out more about availability and prices.