2+ Hours of Video Instruction
Advanced Java Performance: HotSpot GC Tuning LiveLessons 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.
Who Should Take This Course
Table of Contents
Lesson 1: HotSpot Garbage Collector — Fundamentals
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, the 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: GC Visualization and Logging Information.
Lesson 2 covers GC logging and visualization information. The lesson covers certain handy logging options and provides more information on them. It also show 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: Garbage Collector Performance Tuning.
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 applications responsiveness.
Lesson 4: Garbage First Garbage Collector — Fundamentals
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 marking 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:Advanced Logging Information
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: G1 GC — Tuning Young Collections
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: G1 GC — Tuning and Taming Mixed Collections
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: G1 GC — Tuning to Avoid Evacuation Failures
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.
About LiveLessons Video Training
LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons