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

相关推荐
松涛和鸣12 分钟前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
j***788814 分钟前
clickhouse-介绍、安装、数据类型、sql
java
2***B44929 分钟前
Rust在系统编程中的内存安全
开发语言·后端·rust
U***e6335 分钟前
Rust错误处理最佳实践
开发语言·后端·rust
习习.y41 分钟前
python笔记梳理以及一些题目整理
开发语言·笔记·python
q***47181 小时前
Spring中的IOC详解
java·后端·spring
qq_386218991 小时前
Gemini生成的自动搜索和下载论文的python脚本
开发语言·python
vx_vxbs661 小时前
【SSM电影网站】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·小程序·php·idea
SunnyDays10111 小时前
如何使用 Java 删除 Word 文档中的水印
java·删除word文档水印
o***Z4482 小时前
JavaScript在Node.js中的内存管理
开发语言·javascript·node.js