虚拟机(极客)

https://static001.geekbang.org/resource/image/41/77/414248014bf825dd610c3095eed75377.jpg

代码执行

虚拟机

之所以要在虚拟机中运行,是因为它提供了可移植性。一旦 Java 代码被编译为Java字节码,便可以在不同平台上的 Java虚拟机实现上运行。此外,虚拟机还提供了一个代码托管的环境,代替我们处理部分冗长而且容易出错的事务,例如内存管理。

内存区域

虚拟机(极客)_第1张图片
代码执行
Java 字节码无法直接执行。因此,Java 虚拟机需要将字节码翻译成机器码。在 HotSpot 里面,上述翻译过程有两种形式:第一种是解释执行,即逐条将字节码翻译成机器码并执行;第二种是即时编译(Just-In-Time compilation,JIT),即将一个方法中包含的所有字节码编译成机器码后再执行。

你可能感兴趣的:(Java)