В Oracle JDK 9 появилась статическая (ahead-of-time) компиляция кода. Мы уже обсуждали, зачем это нужно, и рамки текущей реализации. Теперь имеет смысл поговорить о технических деталях. Какая информация и как генерируется при работе AOT, как скомпилированный AOT код взаимодействует с Hotspot. Что можно поделать с AOT-кодом внешними инструментами, и как встроиться в процесс компиляции. И конечно, какие крутилки можно покрутить, и какая будет производительность при использовании AOT. Грабли уже аккуратно разложены, но кое-где уже ждут и румяные плюшки.