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包了。

相关推荐
曹牧7 分钟前
在 Eclipse 中配置 Maven 和 Gradle 项目以支持增量打包
java·eclipse·maven
lsx2024069 分钟前
XSLT `<sort>` 元素详解
开发语言
_olone10 分钟前
牛客每日一题:显生之宙(Java)
java·开发语言·算法·牛客
Sirens.13 分钟前
Java 包装类、泛型与类型擦除
java·开发语言·javac
小光学长29 分钟前
基于ssm的膳食健康管理系统e6whl4q7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·开发语言·数据库·学习·ssm
java1234_小锋30 分钟前
Java高频面试题:Redis到底支不支持事务啊?
java·redis·面试
无心水33 分钟前
【常见错误】2、Java并发编程避坑指南:从加锁失效到死锁,10个案例教你正确使用锁
java·开发语言·python
我爱学习好爱好爱33 分钟前
Kubernetes 1.29集群上部署Java网站项目
java·容器·kubernetes
青衫码上行33 分钟前
【项目开发日记 | Java架构】第一天
java·开发语言·spring cloud
至为芯38 分钟前
IP2075_34S至为芯支持C口快充的30W功率AC/DC芯片
c语言·开发语言