Gil Tene discusses JVM observation-based runtime optimizations, ordering and memory model rules, basics GC functions, memory management, and JVM mechanics.
Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine technologies for the past 20 years and has been building Java technology-based products since 1995. Gil holds a BSEE from The Technion Israel Institute of Technology, and has been awarded 27 patents in computer-related technologies. Twitter: @giltene
Software is changing the world; QCon aims to empower software development by facilitating the spread of knowledge and innovation in the enterprise software development community; to achieve this, QCon is organized as a practitioner-driven conference designed for people influencing innovation in their teams: team leads, architects, project managers, engineering directors.
Static compilers can achieve optimizations similar to dynamic compilation with help of Profile Guided Optimizations, so in many cases it is enough to have test runs with the common datasets used by the application to generate enough information for a second compilation with PGO.
The second issue regarding warming up the applications can be solved by making use of an AOT compiler for Java code, assuming the set of classes used remain static for the whole lifetime of the server. Which tends to be quite common actually.