想要去阿里面试?你必须得跨过 JVM 这道坎!( 三 )

想要去阿里面试?你必须得跨过 JVM 这道坎!

这段字节码并不是完全对照着HelloWorld那个类来写的,就是给一段示例,让大家知道“.java”翻译成的“.class”是大概什么样子的。

这里比如说“0: aload_0”这样的,就是“字节码指令”,他对应了一条一条的机器指令,计算机只有读到这种机器码指令,才知道具体应该要干什么。

比如说字节码指令可能会让计算机从内存里读取某个数据,或者把某个数据写入到内存里去,都有可能,各种各样的指令,就会指示计算机去干各种各样的事情。

所以现在首先明白一点,我们写好的Java代码是会被翻译成字节码的,对应各种字节码指令。

那么Java代码通过JVM跑起来的第一件事情就明确了, 首先Java代码被编译出来的字节码指令一定会被一条一条的执行,这样才能实现我们写好的代码被执行的效果。

那么在执行字节码指令的时候,JVM里的程序计数器就是用来记录每个线程当前执行的字节码指令的位置的,记录当前线程目前执行到了哪一条字节码指令。

推荐阅读