High level language VM Implementation
Common Language Infrastructure
Interpretation
Java Virtual Machine
Optimization
Binary translation
Profiling
Garbage collection