A brief explanation on how the JVM loads and execute its code is done here. Register and stack based execution are explained, and different garbage collection algorithms are shown using graphs to make it easy to understand what happens under the hood. This talk uses the Java Virtual Machine as a main example, but most of the concepts extends to any modern virtual machine available today.
124. WHO AM I
Luiz Teston
Principle Engineer, CTO at FRACTA
• 15 years on the field, working on non trivial projects using
Java, C++ and functional programming
• lteston@fracta.cc
• http://fracta.cc
• http://linkedin.com/in/teston
• http://twitter.com/FeuTeston
126. REFERENCES
• Garbage Collection:Algorithms for Automatic Dynamic Memory Management, by
Richard Jones and Rafael Lins.
• Virtual Machines:Versatile Platforms for Systems and Processes, by Jim Smith and Ravi
Nair.
• https://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html
• http://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/
• http://docs.oracle.com/javase/specs/jvms/se8/html/index.html
• http://mechanical-sympathy.blogspot.ie/2013/06/printing-generated-assembly-code-
from.html
• http://www.slideshare.net/CharlesNutter/redev-2011-jvm-jit-for-dummies-what-the-jvm-
does-with-your-bytecode-when-youre-not-looking
126