As opposed to Just-In-Time (JIT) compilation, found in most modern JVMs, Microsoft .NET framework, browser JavaScript engines, and numerous dynamic language implementations, Ahead-Of-Time (AOT) compilation is normally associated with “old school”, static languages such as FORTRAN or C/C++. The fact is that an AOT compiler (Ngen) has been part of .NET for many years, whereas the JDK still does not include such a tool, even though Java is older than .NET.
This has resulted in a number of cultural misconceptions and myths about AOT compilation circulating in the Java community, which only reinforced the reluctance to add such a tool to the JDK. This talk dispels those myths, discusses the particular advantages and drawbacks of using AOT vs JIT compilation in various scenarios and presents the available commercial and open source solutions.
Video producer: http://www.barcelonajug.org/