1. 虚拟机会把编译而成的class文件存放到方法区。(所有线程都能访问)
2. 每调用一个Java方法,JVM会在当前线程对应的Java方法栈中生成一个栈帧。(栈帧是不连续的,怎么实现的呢?)
3. Java 字节码不能直接执行,需要先翻译成机器码才能执行。字节码到机器码有两种方式:解释执行和即时编译(Just-In-Time compilation)
| 解释执行 | 即时编译 |
| 无需等待编译,解释一行运行一行 | 将热点代码进行优化编译 |
| 逐条翻译 | 以方法为单位 |
| 适用于大部分不常用的代码 | 适用于小部分热点代码 |
| 机器指令不保存无需内存 | 热点代码编译后要保存 |
| 即时编译使用的线程:C1/C2=1:2 |



