来自一家开发商业Java虚拟机的公司Azul Systems的 Ian Rogers博士,2011年5月27日做了一次演讲 叫“
Learn about JVM internals - what does the JVM do?
”。简单讲解了Java虚拟机内部实现的若干主要方面的问题,包括字节码解释,JIT编译,垃圾回收,Compaction等主要机制和挑战。
演讲的议题是:
The JVM from transisters up
- Interpreters
- A simple JIT compiler
- MOre complex compilers
Challenges and novel solutions in JVM design
- Object-oriented
- Class loading
- Garbage collectors
Zing
演讲中show了以下幻灯片(只列出标题):
Presenter
Agenda
What is a Java Virtual Machine(JVM)?
Portability
The Interpreter
Looking inside an interpreter
Sources of inefficiency in the interpreter
A simple JIT compiler
Fibonacci 1
Fibonacci 2
Fibonacci 3
Fibonacci 4
Fibonacci 5
Fibonacci 6
Fibonacci 6 continued
Exploring Code Optimizations
Example 1: Dead code Eliminations
Exploring Code Optimizations
Example 2: Inlining
Exploring Code Optimizations
Example 2: Redundancy Removal
Example 3:low-level tree rewriting
Example 4:high-level tree rewriting
More optimizations
Challenges: Object-orientation
Adaptive optimizations
Summary on Portability, Compilers, and Optimizations
Challenges:Garbage Collection
Garbage Collection
Allocation & Garbage Collection
Garbage Collection
Generational Garbage Collection
Compaction
Pain of Tuning
Biggest Java Scalability Limitation
2c for the Road - What to (not) Think About
Summary
For the Curious: What is Zing?
Youtube上有该演讲的录像:
https://www.youtube.com/watch?v=UwB0OSmkOtQ