JDK、JRE、JVM三者关系详解

java开发工具包 = java运行环境 + java开发工具

Java 运行环境 = Java虚拟机 + java核心类库

JDK是java开发工具包,包含了编写、编译、运行、调试java程序所需的所有工具和组件。它拥有JRE所拥有的一切,还有编译器和工具,能够创建和编译程序。

JRE是java的运行环境,包括了java虚拟机和java标准类库(java API),JRE是针对java应用程序的,提供了在计算机上运行java应用程序所需的最小环境。如果只是为了运行一下java程序的话,只需要安装JRE就行了,如果需要进行java编程方面的工作,那么就需要安装JDK

JVM是java虚拟机,是java程序的运行环境,JVM的主要作用就是将java代码转换为可以在计算机上运行的机器码,并负责程序的执行。字节码和不同系统的JVM实现是java语言一次编译,到处运行的关键所在,JVM并不是只有一种,只要满足JVM规范,每个公司、组织或者个人都可以开发自己的专属JVM。(JVM规范定义了一组标准,这些标准描述了如何执行Java字节码、存储类文件格式、Java API等。遵循JVM规范,任何人都可以创建他们自己的JVM实现)

相关推荐
广州灵眸科技有限公司几秒前
瑞芯微(EASY EAI)RV1126B QT GUI例程方案
linux·服务器·开发语言·网络·人工智能·qt·物联网
2301_777599374 分钟前
SQL如何实现动态分组统计_使用存储过程与动态SQL
jvm·数据库·python
枫叶丹45 分钟前
【HarmonyOS 6.0】ArkWeb 私有网络访问控制接口详解
开发语言·网络·华为·harmonyos
小杍随笔5 分钟前
【Rust 1.95.0 正式发布!语言特性、标准库、平台支持全面升级,一文带你看完整更新】
开发语言·rust·策略模式
Shorasul5 分钟前
HTML怎么在GeneratePress中精调图片对齐_GP轻量主题CSS覆盖方法
jvm·数据库·python
无籽西瓜a5 分钟前
【西瓜带你学设计模式 | 第十八期 - 命令模式】命令模式 —— 请求封装与撤销实现、优缺点与适用场景
java·后端·设计模式·软件工程·命令模式
qq_334563556 分钟前
Python开发Flask项目如何部署到云服务器_使用Fabric自动化发布脚本
jvm·数据库·python
2301_764150567 分钟前
JavaScript中预取Prefetch与预加载Preload策略
jvm·数据库·python
aXin_ya8 分钟前
微服务 第二天
java·数据库·微服务
浪客川10 分钟前
【百例RUST - 008】枚举
开发语言·后端·rust