JDK、JRE、JVM之间的关系

JDK是Java的开发环境,用JDK开发了JAVA程序后,通过JDK中的编译程序(javac)将java文件编译成字节码文件,作为运行环境的JRE,字节码文件在JRE上运行,作为虚拟机的JVM解析这些字节码,映射到操作系统。

JDK包含了java工具(javac.exe、jar.exe等)、java运行环境JRE,Java基础类库(Java API等)一次编译 到处运行!

JRE作为运行环境,包含了JVM和Java核心类库

JVM作为虚拟机,实现跨平台,能够运行Java ,专门用来执行Java字节码文件的。JVM在执行字节码文件时,需要把字节码文件转成机器指令,不同的操作系统的机器指令是不一样的,所以就导致不同操作系统上的JVM是不一样的,所以在安装JDK的时候需要选择操作系统安装。不管什么语言 最后只要能编译成Java字节码文件,都可以在JVM上运行。

比如:我在windows开发了一个Java程序,编译打包后,生成jar包,我上传到CentOS服务器,只要在服务器上安装个JRE(Linux版本的)就可以直接运行我这个jar包了。

相关推荐
无限进步_2 分钟前
C++ 继承机制完全解析:从基础原理到菱形继承问题
java·开发语言·数据结构·c++·vscode·后端·算法
SamDeepThinking14 分钟前
适合中小型企业的出口入口网关微服务
java·后端·架构
不知名的忻15 分钟前
并查集(QuickUnion)
java·数据结构·算法·并查集
leo__52018 分钟前
基于时延的麦克风声源定位 - C实现
c语言·开发语言·算法
jf加菲猫22 分钟前
第15章 文件和目录
开发语言·c++·qt·ui
likerhood22 分钟前
Java实现选择题选项乱序算法
java·开发语言·算法
我登哥MVP28 分钟前
【SpringMVC笔记】 - 11 - SpringMVC 执行流程
java·spring boot·笔记·spring·tomcat·intellij-idea
执于代码33 分钟前
python 环境知多少
开发语言·python
笨蛋不要掉眼泪1 小时前
面试篇-java基础上
java·后端·面试·职场和发展
t***5441 小时前
如何在 Dev-C++ 中切换编译器至 Clang
开发语言·c++