首页 > 其他分享 >JDK,JRE与JVM

JDK,JRE与JVM

时间:2024-08-02 10:54:26浏览次数:6  
标签:类库 JRE Java JDK JVM 运行

JDK,JRE与JVM

JDK

定义: JDK,全称Java Development Kit,(又称为Java SDK,Java Software Development Kit) ,是 Java 语言的软件开发工具包。

其中, JDK中包含JRE(Java Runtime Environment)和Java开发工具包,JRE又包含jvm虚拟机和Java运行所需的核心类库。

根目录下有个bin文件夹,这里面放的都是Java的可执行文件(也可以理解为Java开发工具,可执行文件就是利用这个文件可以对写出来的代码进行一些操作,比如javac是用来编译的,这个javac就是其中的一个可执行文件).

    还是这一级目录,有个lib文件夹,这个文件夹的作用就是对bin目录下的开发工具起支持作用的,说白了就相当于一个环境,在这个环境的支持下,bin目录下的开发工具才能起作用。

    还有个jre文件夹,这个就是上面所所的JRE(Java Runtime Environment  Java运行环境),此目录下有个bin文件夹,这里面放的是java运行的必要组件(就是传说中的jvm),同一级目录下有个还有lib文件夹(注意,这里的lib文件夹,和根目录下的lib文件夹作用是不同的),这里的lib是对jvm进行支持的,也可以认为是一个环境,有了这个环境,jvm才能运行起来。

    总的来说,只要是用JDK开发的程序,就必须在JRE上运行。

JRE

定义(简介):JRE 是Java Runtime Enviroment的简称,即Java 运行时环境,它是Java程序运行所必须的环境集合,主要由Java虚拟机、Java平台核心类和若干支持文件组成。JRE不包含开发工具、编译器、调试器以及其他工具。J2RE是Java2 Runtime Environment的简称,有时简称为JRE

JRE 自带的基础类库主要在 JRE\lib\rt.jar 文件中,该文件包括了 Java 2 平台标准版的所有类库,与JRE的版本是一致的。在程序运行时,JRE由ClassLoader(类加载器)负责查找和加载程序引用到的基类库和其他类库。基础类库,ClassLoader 会自动到 rt.jar 中加载,操作系统通过PATH 环境变量来查找 JRE 并确定基础类库文件 rt.jar 的位置;其他的类库,ClassLoader在环境变量CLASSPATH指定的路径中搜索,按照先来先到的原则,放在CLASSPATH前面的类库优先被搜到,因此建议在Java程序启动之前先把PATH和CLASSPATH环境变量设置好。
image


JVM

定义(简介):JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

JAVA语言的一个重要特点就是平台无关性,而java虚拟机(即jvm)可以来实现这样的特点

Java语言 编译程序只需生成在Java虚拟机上运行的目标代码( 字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的 机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。


三者的区别与联系:

  1. JDK(Java Development Kit)
    • 它是Java开发工具包,包含了编写Java程序所需的所有工具和库。
    • JDK是面向开发者的,它不仅包含了JRE,还包括了编译Java代码的编译器(javac),运行Java程序的工具(java),以及用于开发Java应用程序的各种工具和库。
    • JDK是开发Java应用程序的基础。
  2. JRE(Java Runtime Environment)
    • 它是Java运行时环境,包含了运行Java应用程序所需的全部Java核心类库和Java虚拟机(JVM)。
    • JRE是面向最终用户的,它允许用户运行Java应用程序,但不支持Java程序的开发。
    • 简单来说,如果你只需要运行Java程序,而不需要开发,那么只需要安装JRE。
  3. JVM(Java Virtual Machine)
    • 它是Java虚拟机,是一个可以执行Java字节码的虚拟计算机。
    • JVM是Java平台的核心,它提供了一种机制,使得Java字节码可以在任何安装了JVM的平台上运行,实现了所谓的“一次编写,到处运行”(Write Once, Run Anywhere)。
    • JVM负责加载Java类文件,执行字节码,并提供必要的运行时服务,如内存管理。

联系

  • JDK包含了JRE,因此安装了JDK的用户不需要单独安装JRE,因为JDK中已经包含了JRE的所有组件。
  • JRE包含了JVM,因此JRE提供了运行Java程序所需的最小环境。

区别

  • JDK是为开发者设计的,包含了编写和编译Java程序所需的工具
  • JRE是为最终用户设计的,只包含运行Java程序所需的组件
  • JVM是Java程序运行的平台,与是否开发或运行Java程序无关,它是Java语言跨平台特性的关键

标签:类库,JRE,Java,JDK,JVM,运行
From: https://www.cnblogs.com/wjw2003512/p/18338258

相关文章

  • JVM—垃圾收集算法和HotSpot算法实现细节
    1、分代回收策略分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。分代垃圾回收采用分治的思想,进行代的划分,把不同生命周期放在不同代上,不同代采用最适合它的垃圾回收方法进行回收。......
  • JDK JRE和JVM
    JDK、JRE和JVM是Java技术栈中的三个核心组件,它们各自扮演着不同的角色,共同构成了Java程序的开发、运行和跨平台能力。以下是对这三个组件的详细解释以及它们之间关系的说明:1.JVM(JavaVirtualMachine)定义:JVM是JavaVirtualMachine的缩写,即Java虚拟机。它是Java程序的运行环境,......
  • 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实现动态性和灵活性的关键之一,能够根据不同的需求从本地文件系统、网络、数据库等来源加载类文件。类加载器只管加载,只要符合文件结......