java运行原理
java是一种高级语言,我们编写的所有关于java的源码要想让计算机能够识别就必须通过某种方式将我们的源代码变成由0101…这样形式组成的二进制代码也就是机器码,计算机的底层是只是别机器码的。
一般的高级语言在工作时需要我们先在编辑器或集成开发环境中输入我们的源码,这些源码是我们自己编写的能够让我们理解的代码。这些代码是直接存储在我们的硬盘当中,当我们再次查看的时候编辑器会读取存储在我们硬盘当中的文件然后,然后再显示成我们说能看得懂得代码。显然这些代码CPU是看不懂的,这就需要我们将其转换成机器码,这些机器码存储在内存当中再由CPU去调用。当然这个过程是由我们的编译器来完成的。
java也是如此,遵循着由源代码—》机器码的过程。但是java从如何从源代码到机器码的呢?
如果我们从官网上下载java jdk的话我们其实下载的是jdk(开发工具包)+jre(运行环境)+jvm(虚拟机)。java源代码首先是通过jdk将(.java)源代码文件转换为(.class)字节码文件。字节码文件再通过jre转换为可由操作系统识别的汇编语言,最后操作系统将汇编语言转化为机器语言。
具体流程如下图所示: