Java JIT Compilation, Inlining and JITWatch
Dr. Srinath recently shared an InfoQ article with us and its title is " Is Your Java Application Hostile to JIT Compilation? ". I'm writing what I learnt from that article in this blog post. Overview of Just-In-Time (JIT) compiler Java code is usually compiled into platform independent bytecode (class files) using "javac" command. This "javac" command is the Java programming language compiler . The JVM is able to load the class files and execute the Java bytecode via the Java interpreter. Even though this bytecode is usually interpreted, it might also be compiled in to native machine code using the JVM's Just-In-Time (JIT) compiler. Unlike the normal compiler, the JIT compiler compiles the code (bytecode) only when required. With JIT compiler, the JVM monitors the methods executed by the interpreter and identifies the “hot methods” for compilation. After identifying the Java method calls, the JVM compiles the bytecode...