首页 > 其他分享 >JDK JRE和JVM

JDK JRE和JVM

时间:2024-08-01 11:29:13浏览次数:12  
标签:JRE Java JDK 开发 JVM 运行

JDK、JRE和JVM是Java技术栈中的三个核心组件,它们各自扮演着不同的角色,共同构成了Java程序的开发、运行和跨平台能力。以下是对这三个组件的详细解释以及它们之间关系的说明:

1.JVM(Java Virtual Machine)

定义:
JVM是Java Virtual Machine的缩写,即Java虚拟机。它是Java程序的运行环境,负责执行Java字节码(由Java编译器生成的中间代码)。JVM提供了一种独立于硬件和操作系统的执行环境,它负责将字节码转换为特定平台上的机器码,并执行这些机器码来运行Java应用程序。

特点:

  • 跨平台性:这是JVM的主要特征之一,Java程序在编译为字节码后可以在任何支持JVM的平台上运行,摆脱了硬件平台的束缚,实现了“一次编译,到处运行”的理想。
  • 运行时环境:JVM为Java程序提供了一个运行时环境,包括内存管理、垃圾回收、类加载等核心功能。
  1. JRE(Java Runtime Environment)

定义:
JRE是Java Runtime Environment的缩写,即Java运行时环境。它包含了JVM以及Java应用程序运行所需的类库、运行时系统和其他支持文件。JRE提供了Java应用程序运行的基本环境,用户可以使用JRE来运行已编译的Java程序,但无法进行Java开发和编译。

特点:

  • 运行已编译的Java程序:用户只需安装JRE即可在其计算机上运行Java应用程序。
  • 包含JVM:JRE的核心是JVM,它负责执行Java字节码。
  1. JDK(Java Development Kit)

定义:
JDK是Java Development Kit的缩写,即Java开发工具包。它包含了JRE以及用于开发Java应用程序的工具和资源。JDK提供了编译器(javac)用于将Java源代码编译为字节码,还包含了其他开发工具(如调试器、性能分析工具)和类库(如开发框架、开发工具包)等。

特点:

  • 开发环境:JDK提供了完整的Java开发环境,开发人员可以使用其中的工具和类库来开发、编译和调试Java应用程序。
  • 包含JRE:JDK不仅包含了JRE的所有内容,还扩展了开发相关的工具和资源。
  1. 三者之间的关系
  • JDK包含JRE:JDK是Java开发的完整工具包,它包括了开发过程中所需的一切,包括JRE。因此,安装了JDK就意味着同时安装了JRE。
  • JRE包含JVM:JRE是Java程序运行的基本环境,它包含了JVM以及运行Java程序所需的其他组件。

总结来说,JVM是Java程序运行的核心,JRE提供了Java程序运行的环境,而JDK则是Java程序开发的完整工具包。它们共同构成了Java技术的基石,使得Java成为了一种广泛应用的跨平台编程语言。

标签:JRE,Java,JDK,开发,JVM,运行
From: https://www.cnblogs.com/mcshuaiteng/p/18336307

相关文章

  • JDK的安装与配置
    JDK的安装与配置目录JDK的安装与配置1.下载JDK:2.安装JDK:3.配置环境变量:4.验证安装和配置:5.注意事项:1.下载JDK:你可以从Oracle官网下载所需的JDK版本。例如,JDK8可以从以下链接下载:JavaArchive|Oracle。确保选择适合你操作系统的版本2。我们可以选择JavaSE8选择适合电......
  • 信步漫谈之JDK——环境变量配置
    Windows上配置JDK环境变量安装jdk(以jdk1.6.0_45为例)计算机→属性→高级系统设置→高级→环境变量新建JAVA_HOME变量:C:\ProgramFiles(x86)\Java\jdk1.6.0_45编辑Path变量,末尾添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;新建CLASSPATH变量:.;%JAVA_HOME%\lib;%JAVA_......
  • win11配置两个jdk版本
    安装jdkjdk8下载地址https://www.oracle.com/java/technologies/downloads/?er=221886#java8清华大学镜像站https://mirrors.tuna.tsinghua.edu.cn/Adoptium/8/解压到目录下D:\soft\java\(不唯一)配置步骤win输入env打开环境变量添加第一个系统变量CLASSPATH(前面有个.).;%......
  • 吃透 JVM 诊断方法与工具使用
    JVM(Java虚拟机)是Java程序运行的基础环境,它提供了内存管理、线程管理和性能监控等功能。吃透JVM诊断方法,可以帮助开发者更有效地解决Java应用在运行时遇到的问题。以下是一些常见的JVM诊断方法:使用JConsole:JConsole是一个可视化监控工具,可以连接到本地或远程的JVM实例,查看内......
  • JDK和CGLIB动态代理
    一篇写的很好的解释动态代理原理的文章:博客原地址:https://www.cnblogs.com/lifullmoon/p/14654836.html代理代理:在不改变原始代码的情况下修改对象的行为。代理可以以透明的方式为对象添加额外的功能。言简意赅:方法增强分类静态代理人为编写,编译时就存在静态代理就是通过......
  • JDK,JRE和JVM
    1.1JDK,JRE和JVM目录1.1JDK,JRE和JVM1.1.1JDK:JavaDevelopmentKit1.1.2JRE:JavaRuntimeEnvironment1.1.3JVM:JavaVirtualMachine1.1.4图示1.1.1JDK:JavaDevelopmentKitJDK是Java开发工具包,它是一个全面的软件开发工具集合,包含了Java开发所需的所有工具和库。JDK是为......
  • JDK的安装和配置
    1.2JDK的安装和配置目录1.2JDK的安装和配置1.2.1下载JDK1.2.2配置环境变量JAVA_HOME设置PATH设置CLASSPATH设置1.2.3测试JDK是否安装成功1.2.1下载JDK首先我们需要下载java开发工具包JDK,下载地址:https://www.oracle.com/java/technologies/downloads/,在下载页面中......
  • Jvm由哪几部分组成
    JVM(JavaVirtualMachine,Java虚拟机)主要由以下几个部分组成:类加载器(ClassLoader)负责加载Java类文件到内存中,并生成对应的Class对象。它是Java实现动态性和灵活性的关键之一,能够根据不同的需求从本地文件系统、网络、数据库等来源加载类文件。类加载器只管加载,只要符合文件结......
  • JVM内存结构划分
    JVM内存结构划分JVM(Java虚拟机)的内存结构主要划分为以下几个部分:堆(Heap)概述:堆是JVM中最大的一块内存区域,用于存储对象实例和数组。堆内存是垃圾收集器管理的主要区域,因此也被称为“GC堆”。细分:堆内存可以分为年轻代(YoungGeneration)和老年代(OldGeneration)。年轻代又进一......
  • JVM内存区域的划分
    程序计数器程序计数器是一块较小的内存空间,它可以看作当前线程所执行的字节码的行号指示器,在虚拟机的概念模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖于程序计数器来完成。......