JVM、JRE、JDK

JVM

JVM(Java Virtual Machine)是Java虚拟机的缩写,他是Java编程语言运行时环境,负责执行Java字节码。另外作为JVM虚拟机,它在各种操作系统上提供统一的平台,这帮助Java应用程序可以独立于操作系统底层运行。JVM 负责内存管理、垃圾回收、字节码解释等任务。

具体可以看这张图

JRE

JRE(Java Runtime Environment): JRE是Java运行时环境的缩写,其包含了JVM和Java标准类库(Java Standard Library)以及运行Java应用程序所需的其他组件。JRE用于计算机上运行Java程序,而不设计Java的开发。如果只想运行 Java 应用程序,而不需要进行 Java 开发,您只需安装 JRE。

JDK

JDK(Java Development Kit): JDK是Java开发工具包的缩写,其包含了JRE、Java编译器(javac)、调试工具、开发文档等开发需要的工具。JDK 用于开发和编译 Java 应用程序,它是 Java 开发人员的主要工具。如果您计划开发 Java 应用程序,您需要安装 JDK。

Java SE和Java EE

Java SE(java Standard Edition)是Java SE的标准版Java 平台标准版,Java 编程语言的基础,它包含了支持 Java 应用程序开发和运行的核心类库以及虚拟机等核心组件。Java SE 可以用于构建桌面应用程序或简单的服务器应用程序。

Java EE(Java Platform, Enterprise Edition ):Java 平台企业版,建立在 Java SE 的基础上,包含了支持企业级应用程序开发和部署的标准和规范(比如 Servlet、JSP、EJB、JDBC、JPA、JTA、JavaMail、JMS)。 Java EE 可以用于构建分布式、可移植、健壮、可伸缩和安全的服务端 Java 应用程序,例如 Web 应用程序。

简单来说,Java SE 是 Java 的基础版本,Java EE 是 Java 的高级版本。Java SE 更适合开发桌面应用程序或简单的服务器应用程序,Java EE 更适合开发复杂的企业级应用程序或 Web 应用程序。

相关推荐
tongluowan00719 小时前
Spring MVC 底层工作流程+源码分析
java·spring·mvc
qq_4228286220 小时前
android图形学之SurfaceControl和Surface的关系 五
android·开发语言·python
weixin_4440129320 小时前
c++如何将std--vector直接DUMP到二进制文件_指针地址直写【附代码】
jvm·数据库·python
woxihuan12345620 小时前
Go语言中--=运算符详解:位右移赋值操作的原理与应用
jvm·数据库·python
java1234_小锋20 小时前
SpringBoot为什么要禁止循环依赖?
java·数据库·spring boot
如竟没有火炬20 小时前
用队列实现栈
开发语言·数据结构·python·算法·leetcode·深度优先
折哥的程序人生 · 物流技术专研21 小时前
《Java 100 天进阶之路》第17篇:Java常用包装类与自动装箱拆箱深入
java·开发语言·后端·面试
RH23121121 小时前
2026.5.12 Linux
java·linux·数据结构
m0_6908258221 小时前
如何备份被破坏的数据表_强制跳过错误的导出尝试
jvm·数据库·python
C+++Python21 小时前
C 语言 动态内存分配:malloc /calloc/realloc /free
c语言·开发语言