Oops! Something went wrong while submitting the form.
Course Outline
Teams that understand JVM internals, have an edge over others when it comes to building sophisticated applications that perform well under load and execution of compute intensive data-processing algorithms
Before anything else, in this course you will get introduced to profiling, monitoring & tuning techniques that are used to gage & benchmark the performance
Garbage collection is one of the beasts when it comes to performance. This topic is covered end to end in this training course - generational garbage collector, tracing collector, the eden space, survivor spaces, tenured generation, pre-mature promotions and minor and major GCs are all covered in detail. You will also learn about different collectors like parallel, concurrent & G1 garbage collector
You will learn how to profile the CPU of a java application and find hotspots (functions that take max time during execution of a request)
You will then learn techniques to mitigate issues with respect to hotspots - instance pooling, singletons, caching, clustering and refactoring applications into micro-services that run in different pods
Memory profiling comes next - you will learn how to profile memory and find memory leakages if any. You will understand the concept of dominators and dominator tree, shallow and retained size of objects. You will further learn the techniques that can be used to avoid memory leakages and also the techniques to efficiently use memory
Threads is yet another beast ! you will learn about the internals of synchronization, what make synchronization expensive, deadlocks, contentious locks. You will learn - 'what works better' when it comes to selecting between synchronization, atomic variables and volatile variables. Very importantly, you will learn the skills of fine-tuning your code to efficiently use threads and the utilities that are provided by java like cyclic barrier & forkjoin pool
Who Should Attend
Performance is not a luxury but a necessity. This training course is for you if you want to learn the internals of java and the factors that can affect the performance of your application and also the techniques used to plug the performance related issues
Software Architect at InfoMover Technologies with 10+ Years experience in Software Design and Implementation of Solutions for Shipping & Logistics Industry