The range of tools available for the Java platform is one of its many strengths, and a surprising number of these tools rely on bytecode instrumentation (BCI) and bytecode generation to do their work. A few of the many examples of where BCI is used are profiling tools, static analysis tools (FindBugs), dynamic languages (Nashorn, JRuby), and code coverage (EMMA). But BCI is a black art to most. This session aims to take away the mystery and show you what BCI is, how it is used, and how you can get started on writing your own BCI-based tooling.
Clipping is a handy way to collect important slides you want to go back to later.