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实现)

相关推荐
starzy199013 分钟前
深入理解Scala可变Map:动态构建场景下的性能与设计权衡
开发语言·scala
奶油话梅糖27 分钟前
打开项目 0.9 秒、内存只有 IDEA 的 1/12:OpenIDEA 用 Rust 把 IntelliJ IDEA 重造了一遍
java·rust·github·intellij-idea
vipxieliang31 分钟前
语言对比卡:PHP vs Go vs Java 的优缺点、适用场景与「为什么选 PHP」
java·go·php
Rain的Java大神之路37 分钟前
公交App上“还有2站,约5分钟”怎么实现?90%的人答错这道大厂面试题:GPS漂移、ETA不准、10万QPS热点读全拆透(附完整代码)
java·后端·面试
golang学习记1 小时前
IDEA 2026.3 远程开发迎来重磅升级
java·ide·intellij-idea·远程开发
天天被压力1 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
敲代码的小小酥1 小时前
谈SpringMVC与Spring WebFlux的区别与适用场景
java·后端·spring
天天被压力1 小时前
【A股分钟级高频数据完全手册 #03】股票历史1分钟K线数据接口怎么用:Pro版批量拉取与本地缓存
java·人工智能·python
zhanghaha13141 小时前
C# 系列教程_7 判断语句(分支)保姆级精讲
开发语言·c#
apcipot_rain1 小时前
C++转Java日记(02)
java·开发语言·c++