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、及其它工具) 总结:
- 简单来说,JRE是JDK的子集,一般安装JDK即可。
- 安装后注意配置环境变量,一般安装JDK后自动配置好。
- 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运行机制:
- 编译:使用Java编译器(javac.exe)命令,将java源程序(.java文件)编译成字节码文件(.class文件)。
- 解释:使用Java解释器(java.exe)命令,启动JVM(Java虚拟机),使用类加载器将字节码文件(.class文件)加载到内存中,解释成机器指令。
- 执行:机器指令在JVM(Java虚拟机)中运行并输出结果。
- Java语言跨平台原理:
Java程序并非是直接运行的,Java编译器将Java源程序(.java文件)编译成与平台无关的字节码文件(.class文件),然后由Java解释器(java.exe)启动相对应平台的Java虚拟机(JVM)对字节码文件(.class文件)解释执行。
所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。无论是在Windows、Linux、MAC等系统上,只要装有相应版本的 JVM,该JVM 就能把 .class 文件解释成机器指令执行。实现“一次编译,随处运行”。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。