Native Image
Java uygulamasının belirli kod ve bağımlılık kümesini çalışma öncesinde native executable biçimine derleyerek JVM başlangıcı yerine AOT yürütme modeli sağlayan GraalVM özelliği.
AOT Çalışma Modeli
GraalVM Native Image, uygulamanın ulaşılabilir kodunu build aşamasında analiz ederek native executable üretir. Bu yaklaşım JVM üzerinde JIT ile uzun süre optimize edilen klasik Java çalışmasından farklıdır.
Başlangıç süresi ve başlangıç bellek kullanımı önemli avantaj sağlayabilir; fakat bu her workload'da daha yüksek steady-state throughput anlamına gelmez.
Closed-World Varsayımı
Build sırasında hangi sınıf, reflection, resource, JNI veya dynamic proxy kullanımının gerekli olduğu mümkün olduğunca bilinmelidir. Çalışma zamanında dinamik keşfe dayanan framework davranışları ek metadata/configuration gerektirebilir.
Performans Kararı
Native Image özellikle kısa ömürlü CLI, function veya hızlı açılış gereken servislerde güçlü olabilir. Uzun süre çalışan ve JIT'in profilden yararlanabildiği workload'larda JVM sürümü ayrıca ölçülmelidir.