JRE与JDK

  • JRE(Java Runtime Environment):
      Java运行环境,面向的是程序使用者,而不是开发者。如果你仅下载并安装了 JRE,那么你的系统只能运行 Java 程序。其内部包含了Java虚拟机(JVM)和Java的核心类库(Java API),不包含开发工具(编译器、调试器等)。
  • JDK(Java Development Kit):
      Java开发工具包,面向程序开发者。其包含了Java运行环境(JRE)和Java开发工具(Java编译器javac.exe、及其它工具)
  • 总结:

    1. 简单来说,JRE是JDK的子集,一般安装JDK即可。
    2. 安装后注意配置环境变量,一般安装JDK后自动配置好。
    3. JDK11版本及以后,安装完的jdk文件夹中不再有jre文件夹,但是仍然可以运行Java程序,cmd中输入java -version也能查到JRE的版本号。相关解答:java 11以后不需要jre了么?

Java语言跨平台原理

  • JVM(Java Virtual Machine):
      Java虚拟机
  • Java编译器(javac.exe):
      是将java源程序(.java文件)编译成中间代码字节码文件(.class文件)。字节码文件还不是机器能直接运行的文件。 javac.exe 编译后得到的 .class 文件是二进制指令,但不是机器指令,而是 Java 虚拟机可识别的指令。
  • Java解释器(java.exe):
      启动 JVM(Java虚拟机),将 .class 文件一行一行地解释成机器指令执行(由 Java 虚拟机对字节码进行解释和执行)。
  • Java运行机制:

    1. 编译:使用Java编译器(javac.exe)命令,将java源程序(.java文件)编译成字节码文件(.class文件)。
    2. 解释:使用Java解释器(java.exe)命令,启动JVM(Java虚拟机),使用类加载器将字节码文件(.class文件)加载到内存中,解释成机器指令。
    3. 执行:机器指令在JVM(Java虚拟机)中运行并输出结果。
  • Java语言跨平台原理:
      Java程序并非是直接运行的,Java编译器将Java源程序(.java文件)编译成与平台无关的字节码文件(.class文件),然后由Java解释器(java.exe)启动相对应平台的Java虚拟机(JVM)对字节码文件(.class文件)解释执行。
      所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。无论是在Windows、Linux、MAC等系统上,只要装有相应版本的 JVM,该JVM 就能把 .class 文件解释成机器指令执行。实现“一次编译,随处运行”。

东咸咸
5 声望0 粉丝