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

  • 背景
  • 进入正题
  • 那么问题来了?
  • 为什么run 一下就能运行 ?
  • .java文件如何才能被jvm识别?
  • JVM是如何加载到.class文件的?
  • JVM加载到.class文件之后,是怎么运行的?
  • 流程图如下。


背景

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

Hello word

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

进入正题

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

那么问题来了?

为什么run 一下就能运行 ?

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

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

说到这 就得好好说说了。

首先我们看到的所写的和看到的都是.java文件

win java 后台运行如何查看 java怎么查看运行结果_win java 后台运行如何查看


jvm要想加载这行代码必须把.java文件转换成.class文件才能被jvm所识别和加载,就像你要和一个不会说汉语的英国人交流,就必须把汉语转换成英语才能和他正常的交流。

那.java文件是怎么转换成.class文件的呢?这就是编译的魅力。

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

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

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

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

流程图如下。

win java 后台运行如何查看 java怎么查看运行结果_JVM_02