一次搞懂JDK、JRE、JVM、java EE、java SE

news/2024/7/4 7:18:12

目录

    • 一、名词解释
    • 二、JDK的版本
    • 三、JDK、JRE、JVM的关系
    • 四、JavaSE、JavaEE的区别

一、名词解释

图解

  • JDK
    Java Development Kit,Java 软件开发工具包。
  • JRE
    Java Runtime Environment,Java 运行环境。
  • JVM
    Java Virtual Machine,Java 虚拟机。

二、JDK的版本

  • Java EE
    Java Enterprise Edition,Java 企业版
    使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
  • Java SE
    Java Standard Edition,Java 标准版
    是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
  • Java ME
    Java Micro Edition,Java 微型版
    主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

三、JDK、JRE、JVM的关系

关系图

  • JDK是提供给Java开发人员使用的,包含了JRE和一些Java开发工具,如编译工具(javac.exe)、打包工具(jar.exe)等。所以安装了JDK就不需要再安装JRE了。作为Java语言的学习者,我们必须安装JDK,没有JDK,我们是没有办法编译和运行Java代码的。

  • JRE包括Java虚拟机和Java程序所需的核心类库。如果要想运行一个开发好的Java程序,只需要在计算机中安装JRE即可。

  • JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。
    JVM是Java语言跨平台(这里的“平台”是指不同的操作系统)的基础,要想在不同的操作系统上运行Java程序,就需要在不同操作系统上安装对应的JVM。所以,JVM有Windows版本、MAC版本、Linux版本等。

总结:
JDK = JRE + Java开发工具
JRE = JVM + Java类库

四、JavaSE、JavaEE的区别

JavaEE:Java Enterprise Edition,Java企业版。
多用于企业级开发,包括web开发等等。企业版本帮助开发和部署可移植、健壮、可伸缩切安全的服务端Java应用。Java EE是在JavaSE的基础上构建的他提供Web 服务、组建模型、管理和通信API.可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和web2.0应用程序。

JavaSE:通常是指Java Standard Edition,Java标准版。
就是一般Java程序的开发就可以(如桌面程序),可以看作是JavaEE的子集。它允许开发和部署在桌面、服务器、嵌入式环境和实施环境中使用的Java应用程序。JavaSE 包括支持Java Web服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。


http://www.niftyadmin.cn/n/3656140.html

相关文章

Tangram商业版本预览(三):Tangram中的Skin引擎

Tangram商业版本预览(三):Tangram中的Skin引擎Tangram商业版本预览(一)Tangram商业版本预览(二)Tangram商业版本预览(三)Tangram商业版本预览(四)…

lua脚本拓展nginx功能

文章目录一、nginx介绍1、定义2、优点3、使用场景二、lua介绍1、定义2、优点3、使用场景三、nginx中使用lua四、lua API介绍五、demo举例一、nginx介绍 1、定义 Nginx 作为一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高…

应用软件的组合技术:用XML描述你的框架(一)

应用软件的组合技术:用XML描述你的框架(一)第一次创建窗口对象是在Turbo C 2.0流行的时代完成的,至今还对操作VGA之类的代码留有印象,那个时代的编程与今天完全不同,1993年我开始接触WinSDK,当时…

springboot 事务管理

很多操作数据库的工具可以保证事务性,这里不讲。 这里讲的是,业务逻辑相关的东西,举例:你更新表A中的字段status,同时希望改变表B中的status字段,如果中间更新失败,则都不更新。 首先在应用类上…

最早的Tangram预览

最早的Tangram预览几天前与好友在msn上聊天,朋友给我一个惊喜,他提供给我2001年我发布的Tangram相关的信息,这些已经迷失的东西,看起来十分亲切,原始地址是http://www.vchelp.net:9090/dtool/submit/vdd_pa.htm&#x…

Tangram商业版本预览(二):Tabbed MDI 界面

Tangram商业版本预览(二):Tabbed MDI 界面 Tangram商业版本的目标是允许用户不用写程序代码,直接用XML描述直接得到商业质量的、高度可定制化的软件框架,事实上,软件框架部分代码基本与软件的功能是不相关的,如同高档写字楼一样&…

mongodb 聚合 按月分组统计

需求 先说下我的需求:查询用户每个月发布文章的天数,并以列表的形式返回。 举例:某用户在2020年12月份12号、8号、15号、22号曾经发布过文章,把所有发布文章的日期在数组中返回。 实现 以下是使用mongodb聚合实现命令。 [{$ma…