? 一个java程序首先经过javac编译成 .class 文件,然后 JVM 将其加载至方法区,执行引擎将会执行这些字节码。执行时,会翻译成操作系统相关的函数。JVM作为 .class 文件的翻译存在,解释字节码,调用操作系统函数
? java虚拟机(Java Virtual Machine)可以识别 .class 后缀的文件,并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操作。
? 过程如下:Java 文件 -> 编译器 -> 字节码 -> JVM -> 机器码
? JVM是一个虚拟化的操作系统,类似于Linux或者Windows的操作系统,只是它架在操作系统上,接受字节码即 .class ,把字节码翻译成操作系统上的机器码且进行执行
每个方法对应一个栈帧,虚拟机栈用于存储当前线程运行方法所需的数据,指令,返回地址
原文:https://www.cnblogs.com/potofsalt/p/13570494.html