JDK、JRE、JVM的区别

总结:

  1. JDK为开发人员提供了完整的开发和运行Java程序所需的工具和库,包括JRE、编译器(javac)、调试器(jdb)、Java类库(如java标准库)、基本开发工具;
  2. JRE为普通用户或需要运行Java应用程序的场景提供了运行Java程序所需的环境,包括Java虚拟机(JVM)、核心类库(核心类库:主要是java.lang包,包含了基本数据类型、基本数学函数、字符串处理、线程、异常处理类等);
  3. JVM通过将字节码转换为特定平台的机器码,实现跨平台;

当谈到Java开发环境时,通常会涉及到几个重要的概念:JDK(Java Development Kit)、JRE(Java Runtime Environment)和JVM(Java Virtual Machine)。它们之间的区别如下:

  1. JDK(Java Development Kit)

    • JDK是Java开发工具包,它是用于开发Java应用程序的软件开发工具集合。
    • JDK包括了JRE,还包含了编译器(javac)、调试器(jdb)、一些基本的开发工具和Java类库(如Java标准库)。
    • 开发人员通常需要安装JDK来编写、编译和运行Java程序。
  2. JRE(Java Runtime Environment)

    • JRE是Java运行时环境,它包含了运行Java程序所需的所有内容,但不包括开发工具(如编译器和调试器)。
    • JRE包括Java虚拟机(JVM)、Java核心类库和支持文件。
    • 如果你只需要运行Java程序而不是开发新的程序,可以安装JRE即可。
  3. JVM(Java Virtual Machine)

    • JVM是Java虚拟机,是Java技术的核心和关键部分。
    • JVM负责在特定的硬件和操作系统上执行Java字节码(即Java程序编译后生成的字节码)。
    • Java程序在不同的平台上运行时,JVM会把字节码翻译成特定平台上的机器码执行。
  • 在开发Java应用程序时,通常需要安装JDK;而在仅需要运行Java应用程序时,安装JRE即可。
相关推荐
宁瑶琴11 分钟前
COBOL语言的云计算
开发语言·后端·golang
杰克尼35 分钟前
springCloud_day07(MQ高级)
java·spring·spring cloud
小陈工1 小时前
2026年4月2日技术资讯洞察:数据库融合革命、端侧AI突破与脑机接口产业化
开发语言·前端·数据库·人工智能·python·安全
Zarek枫煜1 小时前
C3 编程语言 - 现代 C 的进化之选
c语言·开发语言·青少年编程·rust·游戏引擎
阿kun要赚马内1 小时前
Python中元组和列表差异:底层结构分析
开发语言·python
NHuan^_^2 小时前
SpringBoot3 整合 SpringAI 实现ai助手(记忆)
java·人工智能·spring boot
前进的李工2 小时前
MySQL大小写规则与存储引擎详解
开发语言·数据库·sql·mysql·存储引擎
Mr_Xuhhh2 小时前
从ArrayList到LinkedList:理解链表,掌握Java集合的另一种选择
java·数据结构·链表
错把套路当深情3 小时前
Java 全方向开发技术栈指南
java·开发语言