给女朋友讲解java程序是怎么运行的

背景

今天天气有点热,开着空调 写着代码,女朋友在一旁吃着西瓜,时不时喂我一口,看到我的代码兴致来了,然后说你这代码我也会写。然后把西瓜都给我,敲着键盘就写起来了。我一看,差点笑喷了。写了一行

Hello word

然后问我 这行代码怎么运行呀。既然女朋友发问了,那还不得好好表现表现。

进入正题

一般我们写代码都是在编译器写好的,像这种应用程序的代码 只需要写在main 函数里面然后右键run 就可以运行了。

那么问题来了?

为什么run 一下就能运行 ?

首先能运行自然是JVM的功劳,这里简单的理解jvm是java的运行环境

.java文件如何才能被jvm识别?

说到这 就得好好说说了。
首先我们看到的所写的和看到的都是.java文件
在这里插入图片描述
jvm要想加载这行代码必须把.java文件转换成.class文件才能被jvm所识别和加载,就像你要和一个不会说汉语的英国人交流,就必须把汉语转换成英语才能和他正常的交流。
那.java文件是怎么转换成.class文件的呢?这就是编译的魅力。

JVM是如何加载到.class文件的?

当我们把.java文件编译成.class文件 通过JVM的类加载机制 就能加载到。

JVM加载到.class文件之后,是怎么运行的?

这时候我们就需要用到JVM的字节码执行引擎来执行了。就像你写了个hello word在main() 方法里面 。执行的时候会从main()方法开始执行。

流程图如下。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/OnlyoneFrist/article/details/107524985