1、JDK、JRE、JVM三者间的联系与区别及环境变量的配置

在这里插入图片描述

一、JDK

  • JDK(Java SE DevelopmentKit),Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。
  • 下图是JDK的安装目录:
      在这里插入图片描述

二、JRE

  • JRE( Java Runtime Environment) 、Java运行环境,用于解释执行Java的字节码文件。普通用户而只需要安装JRE(Java Runtime Environment)来运行 Java 程序。而程序开发者必须安装JDK来编译、调试程序。
  • 下图是JRE的安装目录:里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre。
    在这里插入图片描述

三、JVM

  • JVM(Java VirtualMechinal),Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。
  • 当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。

四、区别与联系

  • JDK 用于开发,JRE 用于运行java程序 ;如果只是运行Java程序,可以只安装JRE,无需安装JDK。
  • JDk包含JRE,JDK 和 JRE 中都包含 JVM。
  • JVM 是 java 编程语言的核心并且具有平台独立性。

五、环境变量

  • path(环境变量):

    • path 是 dos以前的内部命令,windows继续沿用至今。用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。
    • 环境变量可以简单的理解为路径导向。例如:Windows里面的临时文件夹存放的路径导向。当要访问此类文件时可根据此环境变量找到它的存放目录。像下面讲的在我们输入Java命令如javac等的时候不用敲入它的路径,系统自动根据环境变量设置找到其实际地址。
  • java程序的执行过程?

    • Java程序的运行是先将xxx.java文件(使用 javac 编译指令(jdk的bin目录下))编译成xxx.class文件(字节码文件),再将字节码文件(使用 java 执行指令(jre的bin目录下))解释成电脑所能认识的机器指令并运行的。
  • 为什么要配置环境变量?

    • 配置PATH环境变量(必需):
      • 前面讲到了 Java 程序的运行首先需要使用 javac 编译指令 编译成字节码文件, 继而使用 java 执行指令解释并运行字节码文件,而 windows 运行 java 编译命令 javac 或者执行指令 java的时候,本地查找不到某个命令或文件,就会到path中去查找。那这个 javac 我们知道是存在 JDK 目录下面的 bin目录中的,因为我们不可能在每个 java 文件所在目录放置 JDK ,故把 JDK 放置 path 环境变量中,这样每个 java文件都可以通过 path 中设定的jdk目录找到编译命令进行编译。
    • 配置CLASSPATH环境变量(必需):
      • 在java开发过程中我们会用到很多开发人员已经帮我们写好的标准类库,而我们要用这些类库的话必须告诉计算机如何找到它们,CLASSPATH环境变量的作用就是指定类搜索路径,JVM就是通过CLASSPTH来寻找类的,设置CLASSPATH环境变量即可使计算机找到它们。
    • 配置JAVA_HOME环境变量(不必需):
      • JDK 是我们进行 java 开发必不可少的,在开发过程中我们通常会使用一些java开发过程中用到的软件(如eclipse、tomcat等)是通过JAVA_HOME来找到 JDK 的(环境变量JAVA_HOME的值就是 JDK安装的路径),所以我们不配置JAVA_HOME的话那我们使用eclipse时可能要受到影响。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值