jokerconf Joker 2014 (20.10.2014 — 21.10.2014)

Ahead-of-time compilation

img

Ahead-of-time (AOT) компиляция, или статическая компиляция, существует для платформы .NET довольно давно, однако Java до сих пор не имеет стандартного AOT-компилятора. Некоторые программисты думают, что AOT-компилятор для Java может работать только для ограниченного подмножества Java приложений и не может быть применен в общем случае, другие думают, что AOT не нужен для Java, потому что есть JIT.

Правда же состоит в том, что у Java есть AOT-компилятор с 2000 года как часть Excelsior JET JVM, полностью совместимой с Java спецификацией. В этом докладе я попробую развеять мифы, которые сложились вокруг AOT-компиляции и показать, где (с технической точки зрения) этот подход имеет преимущества перед динамической компиляцией (JIT).