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

相关推荐
Pacify_The_North1 分钟前
【C++进阶三】vector深度剖析(迭代器失效和深浅拷贝)
开发语言·c++·windows·visualstudio
Song6 分钟前
JVM 学习计划表(2025 版)
jvm·学习
一人の梅雨8 分钟前
化工网平台API接口开发实战:从接入到数据解析‌
java·开发语言·数据库
扫地的小何尚13 分钟前
NVIDIA工业设施数字孪生中的机器人模拟
android·java·c++·链表·语言模型·机器人·gpu
Zfox_15 分钟前
【C++项目】从零实现RPC框架「四」:业务层实现与项目使用
linux·开发语言·c++·rpc·项目
我想吃余18 分钟前
【C++篇】类与对象(上篇):从面向过程到面向对象的跨越
开发语言·c++
Niuguangshuo22 分钟前
Python设计模式:克隆模式
java·开发语言·python
双叶83628 分钟前
(C语言)单链表(1.0)(单链表教程)(数据结构,指针)
c语言·开发语言·数据结构·算法·游戏
想睡hhh30 分钟前
c++概念——入门基础概念
开发语言·c++
肖永威39 分钟前
python列表常用方法大全
开发语言·python