Advanced Java Performance: Hotspot GC Tuning 

Pearson presents Advanced Java Performance: Hotspot GC Tuning.

Advanced Java Performance: Hotspot GC Tuning 

Course Description

Advanced Java Performance: HotSpot GC Tuning LiveLessons from Pearson covers the common fundamentals between all the HotSpot GCs and emphasize the differences. The eight lessons will arm you with what you need to tackle your application’s performance problems where the garbage collector has been identified as the bottleneck. You'll also get an introduction to G1 GC to hit the ground running now, or in the future when G1 GC becomes the default GC in JDK9. What you will learn: Understand the fundamentals of HotSpot’s GCs and how the garbage collector is an automatic heap management unit. Understand important GC logging options and understand the world of VisualVM and VisualGC and Metaspace. Understand GC tuning with respect to maximizing throughput or minimizing latency to achieve the goals that ParallelGC and CMS a... Read More »

Advanced Java Performance: HotSpot GC Tuning LiveLessons from Pearson covers the common fundamentals between all the HotSpot GCs and emphasize the differences. The eight lessons will arm you with what you need to tackle your application’s performance problems where the garbage collector has been identified as the bottleneck. You’ll also get an introduction to G1 GC to hit the ground running now, or in the future when G1 GC becomes the default GC in JDK9.

What you will learn:

  • Understand the fundamentals of HotSpot’s GCs and how the garbage collector is an automatic heap management unit.
  • Understand important GC logging options and understand the world of VisualVM and VisualGC and Metaspace.
  • Understand GC tuning with respect to maximizing throughput or minimizing latency to achieve the goals that ParallelGC and CMS are designed for.
  • Understand G1GC fundamentals and the importance of regionalized framework.
  • Use logging options that help with grasping the adaptive sizing and selection logic and also that help provide more information on RSets.
  • Use performance tuning with G1 GC by tuning the young collections, tame G1’s mixed GCs, avoid evacuation failures.
Read Less
Course Details:

Target Audience

  • Beginner to Advanced Java and JVM performance tuning engineer, and Advanced Java user/developer
  • Prerequisites

    • Fluent with Java
    • Basic understanding of the Java Virtual Machine is helpful, not required
    Certificate Info:

    Type of Certification

    Certificate of Completion

    Format of Certification

    Digital and Print

    Professional Association/Affiliation

    This certificate is issued by Pearson LearnIT

    Method of Obtaining Certification

    Upon successful completion of the course, participants will receive a certificate of completion.

    Course Outline

    Lesson 1 jumps right into the fundamentals of HotSpot’s GCs. The lesson starts with the Java runtime environment and then moves on to identifying the components of the execution engine of the Java virtual machine. You will learn about heap management and the need for generational garbage collector. It then talks about allocations and reclamations before moving on to the importance of a generation collector. Next, it discusses the young GC algorithm and then compares and contrasts HotSpot’s Parallel GC and CMS GC. Finally, it talks about promotion failures, concurrent mode failures and fallback full collections.
    Lesson 2 covers GC logging and visualization information. The lesson covers certain handy logging options and provides more information on them. It also shows how to add a VisualGC plugin to VisualVM. Then, the lesson looks at different information provided by VisualVM and visualizes the young and the old generations and talks about Metaspace.
    Lesson 3 provides information on GC goals and how HotSpot GCs are designed to either maximize throughput or reduce latency by designing a throughput maximizer GC and a latency sensitive GC. The lesson covers the basics of what it means to tune for throughput and you will learn how to calculate allocation rate and promotion rate. Finally, you will learn to tune for latency to improve the responsiveness of the application.
    Lesson 4 dives into G1 GC fundamentals and talks about the regionalized framework and understand how G1 handles GC time and GC frequency metrics. It then moves on to talking about G1 GC’s internal data structures and then talk about the young collections, the masking threshold and the concurrent marking phase and then finally talk about incremental collections. Finally, it covers information on fragmentation in G1 GC and then covers evacuation failures and fallback full collections.
    Lesson 5 covers two important log options that help with understanding and tuning G1 GC. The first one helps with understanding the adaptive sizing in G1 GC. The lesson looks at various examples to help walk you through the adaptive decisions made by G1 for a young collection and for a mixed collection. Finally, it summarizes remembered sets so as to gain tuning advantage by looking at sample outputs.
    Lesson 6 concentrates on young collections and their tuning. It starts out with an example as to why setting a realistic pause time goal is really important, by looking at 3 different scenarios. Then, it covers how to tune further to achieve the realistic pause time goal. Next, it walks through different log snippets and works through achieving our tuning goals with minimal tuning.
    Lesson 7 discusses how to achieve tamed mixed collections. One of the first principles in taming mixed collections is to tune the application to get more young collections. First, you will compare the overheads in the two examples provided. Next, you will utilize tuning to get more mixed collections per mixed collection cycle. The audience will be introduced to two different options and you will be able to walk through examples where you can learn the importance of both those options. Finally, you will learn how to avoid collecting expensive old regions. Once again the audience will be introduced to two options that help with the tuning.
    Lesson 8 is the final lesson in the series. It walks through different scenarios to help the you understand the different reasons G1 GC could encounter an evacuation failure and how we can tune G1 to avoid those failures. First you will learn how to avoid restricting G1’s adaptiveness. Then, you will see an example where you can avoid evacuation failures, by either decreasing the marking threshold, or increasing the concurrent threads or utilizing few other options. Next, you will learn how to avoid evacuation failures caused by humongous allocations.

    DON'T HAVE TIME?

    We can send you everything you need to know about this course through email.
    We respect your privacy. Your information is safe and will never be shared.