说一说.java文件是如何运行的?说一说JDK,JRE,JVM?

1.我们先写一个Hello.java文件(通过txt文件改扩展名,在通过打开方式为记事本编写代码)

2.运行一下Hello.java文件(shift+鼠标右键 打开Powershell窗口)

此处出现了Hello.class 文件(这个是编译后的二进制文件)

运行一下

Hello.class文件是在JVM里运行的。

JDK,JRE,JVM三者的关系是JDK包含JRE,JRE包含JVM.

1.bin 里边放的是javac.exe,java.exe 等可执行程序

2.include 里边放的是JDK和JVM交互用的头文件

3.jre:说明JDK包含jre jre是java运行环境

4.放的一些类库

1.bin里边暂且认为放的是JVM

2.lib 是JVM工作所需要的类库

lib + JVM = JRE

总结一下。我们写好代码后,通过JDK的javac命令将我们的文本java文件编译成.class文件(Java字节码文件),在JRE上运行这些Java字节码,JVM解析这些字节码。所以说,一次编译到处运行,你可以把.class文件传给你的好友,他的电脑装好jdk后,直接java Hello 也能够运行出结果。

那你能说说JDK和JRE的关系吗?

那你能说说JRE和JVM的关系吗?

通过上面的图,我们可以大致了解,只有JVM并不能直接运行.class文件,需要JRE提供的类库,尤其是rt.jar.

经验分享 程序员 微信小程序 职场和发展