Java has been constantly criticized for poor performance ever since its inception, but not as much in recent years. Thanks to optimizing dynamic native code compilers, Java performance today is very close to the performance of low-level languages such as C/C++. Along with dynamic compilers, static compilers for Java have been evolving as well, so there is still no clear winner between these two approaches. It is not a surprise that an AOT compiler is finally going to appear in Java 9 via JEP-295. This session’s speaker would like to dispel common myths about the old dispute over whether dynamic or static compilation is better, show that both approaches have their strengths and weaknesses, and explain why the future is the hybrid approach.