There have always been two steps to get Java code to execute--the compile step (using javac) and the execution step (using java). During the compilation step, javac doesn't just try to convert Java code into byte code, it also tries to perform any optimizations it can and generate the most optimal and efficient byte code possible. Over the years, the Java compiler has learned several new tricks and strategies to better optimize the resulting byte code. But there has always been a challenge--the compiler works on a handful of classes at a time and it doesn't have the opportunity to see the big picture by looking at the entire application, which could have helped it implement better optimizations. ...
Link phase optimizations and jlink plugins
Get Modular Programming in Java 9 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.