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 应用程序。

相关推荐
就这个java爽!1 分钟前
JAVA网络编程【基于TCP和UDP协议】超详细!!!
java·开发语言·网络·tcp/ip·udp·eclipse·idea
一叶飘零_sweeeet5 分钟前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
环能jvav大师10 分钟前
基于R语言的统计分析基础:使用dplyr包进行数据操作
大数据·开发语言·数据分析·r语言
懒洋洋大魔王26 分钟前
7.Java高级编程 多线程
java·开发语言·jvm
=(^.^)=哈哈哈26 分钟前
Golang如何优雅的退出程序
开发语言·golang·xcode
只吹45°风27 分钟前
JVM-类加载器的双亲委派模型详解
jvm·类加载器·双亲委派
学习使我变快乐28 分钟前
C++:用类实现链表,队列,栈
开发语言·c++·链表
茶馆大橘30 分钟前
【黑马点评】已解决java.lang.NullPointerException异常
java·开发语言
星辰@Sea34 分钟前
服务注册中心对比及使用场景分析
java·云原生
lmy_t34 分钟前
C++之第十二课
开发语言·c++