Java Bytecode Optimize: Parse, Analyze, Patch
JOpt is a radical underlying optimizer. It performs optimization on the 3-address code layer, and it doesn't guarantee the internal structure of optimized code.
During an optimization work, JOpt parses the .class files and generate some graphs first. Then JOpt analyzes these graphs and generates optimization patches. Finally, JOpt patches previous .class files using these generated patches.