Books & Videos

Table of Contents

Chapter: Getting Started

Introduction

02m 47s

About The Author

01m 27s

How To Access Your Working Files

01m 15s

Chapter: What Does A Compiler Do?

Anatomy Of A Compiler

04m 46s

How Does Java Code Execute?

04m 17s

Chapter: Java Bytecode

Class File Format

06m 44s

javac Optimizations

06m 6s

Chapter: Hotspot Execution Lifecycle

Lifecycle With Simple Program

07m 33s

General VM Tricks

07m 54s

Triggering The JIT

08m 5s

Tiered Compilation

09m 12s

Methods That Won't JIT

06m 8s

PrintAssembly & JITWatch

08m 1s

Benchmarking Java Performance

06m 46s

Chapter: JITs: The Real Java Compilers

Peephole And Local Optimizations

06m 41s

Peephole And Local Optimizations Demo

10m 40s

Global Optimizations

08m 14s

Data Dependence And Static Single Assignment

09m 13s

More Applications Of SSA

07m 10s

Concurrency Implications

10m 50s

Types In Compilers

07m 32s

Back To Something Real

07m 3s

Inter-Procedural Optimization

07m 58s

Revisiting Performance Mysteries

08m 48s

Chapter: Speculative Optimizations

Speculative Optimizations

07m 12s

Uncommon Traps

06m 33s

Devirtualization

08m 49s

Devirtualization - Type Profiles

07m 38s

Devirtualization - Unique Concrete Methods

05m 41s

Chapter: Other Things To Think About

Other Surprises

09m 36s

What To Optimize

07m 55s

Instrumentation

05m 56s

Honest Profilers

05m 39s

Chapter: Conclusion

Course Wrap-Up

02m 55s