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

相关推荐
历程里程碑1 分钟前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
qq_2290580121 分钟前
docker中检测进程的内存使用量
java·docker·容器
一个天蝎座 白勺 程序猿27 分钟前
KingbaseES查询逻辑优化深度解析:从子查询到语义优化的全链路实践
开发语言·数据库·kingbasees·金仓数据库
我真的是大笨蛋34 分钟前
InnoDB行级锁解析
java·数据库·sql·mysql·性能优化·数据库开发
钦拆大仁37 分钟前
Java设计模式-单例模式
java·单例模式·设计模式
小手cool1 小时前
在保持数组中对应元素(包括负数和正数)各自组内顺序不变的情况下,交换数组中对应的负数和正数元素
java
笨手笨脚の1 小时前
深入理解 Java 虚拟机-04 垃圾收集器
java·jvm·垃圾收集器·垃圾回收
skywalker_111 小时前
Java中异常
java·开发语言·异常
2501_940315261 小时前
航电oj:首字母变大写
开发语言·c++·算法
没有天赋那就反复1 小时前
JAVA 静态方法
java·开发语言