一、JDK、JRE和JVM
1.JDK、JRE和JVM定义
- JDK
即Java开发工具包。JDK是用于Java开发的一套工具包,里面包含了Java的编译器javac、Java程序打包工具jar、Java程序运行环境JRE、文档生成工具javadoc以及很多用于开发的工具。
- JRE
JRE是运行Java程序所需的环境,包括JVM以及Java类库等。JRE是Java程序运行的实施场所,同时也提供了运行Java程序所必需的库文件。
- JVM
即Java虚拟机。JVM是Java运行环境的核心,它负责Java程序的运行。JVM是一个虚拟的计算机,它接收到字节码(编译后的Java程序),然后解释或编译执行。
2.JDK、JRE和JVM之间的关系
可理解为JDK > JRE > JVM。
JDK是最大的,它包含JRE,而JRE又包含JVM。
JDK是为了满足Java开发人员的需要而创建的,其中包含开发工具和JRE。因此,需要编写Java程序,就需要JDK。
JRE是为了运行那些已经编写好的Java程序而创建的,JRE中包含有JVM和Java类库,但是并不包含其他开发工具,因此,如果只需要运行Java程序,只需要JRE就可以了。
JVM就像一个桥梁,它负责将编写的Java代码(人类可以理解的)转化为机器可以运行的机器代码。
3.JDK、JRE和JVM之间的区别
- JDK是开发工具,它让程序员编写Java程序。
- JRE是运行环境,它让编写好的Java程序可以被运行。
- JVM则是JRE的一部分,位于程序执行的最前沿,将字节码转化为机器代码。
二、JDK安装与配置
安装和配置JDK(Java Development Kit)是进行Java开发的第一步。以下是安装和配置JDK的基本步骤:
1.下载JDK
首先,访问Oracle官网或者OpenJDK官网,下载适合你操作系统的JDK安装包。
2.安装JDK、
Windows: 双击下载的安装程序,按照安装向导进行安装
3.配置环境变量
为了在命令行中能够方便地使用Java和Javac命令,你需要配置JDK的环境变量。
Windows:
右键点击"此电脑"或"计算机",选择"属性"。
点击"高级系统设置"。
点击"环境变量"。
在系统变量中,新建一个变量JAVA_HOME,将其值设置为JDK的安装路径,如 C:\Program Files\Java\jdk1.8.0_261。
编辑系统变量"Path",在结尾处加上;%JAVA_HOME%\bin;。
4.打开命令行,输入以下命令来验证JDK是否正确安装:bash
java -version
如果显示了JDK的版本信息,则说明安装成功。通过这些步骤,你应该可以成功安装和配置JDK,开始进行Java开发了。
三、编译和运行的CMD命令
1.打开cmd,进入源文件所在的文件夹
按下Win+R打开CMD
2.编译CMD命令
输入“javac 源文件名.java
”命令,按Enter键,开启Java编译器并进行编译,编译结束后,会自动生成一个源文件名.class
的字节码文件。如果出现“错误: 编码 GBK 的不可映射字符 (0x8D)
”,需要在“javac”后面加上-encoding UTF-8
。
3.运行CMD命令
输入“java 源文件名
”命令,按Enter键,启动Java虚拟机运行程序。Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机针对加载到内存中的Java类进行解释执行,便可看到运行结果。
四 Java跨平台原理?
Java的运行:
1、编译Java代码生成字节码(.class)文件;不同平台编译的字节码文件是相同的;
2、字节码不能直接运行,必须通过对应的jvm翻译为机器码才能运行
我们编写的Java代码,编译后会生成 .class 文件(字节码文件),(某系统)Java虚拟机负责将字节码文件翻译(转译)成对应系统下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行Java程序。
(注意:这里的jvm翻译为解释与编译,jvm再去了解)
在这个过程中,Java程序没有任何改变,仅仅是通过JVM,就能在不同平台上运行,真正实现了“一次编译,到处运行”。
JVM是实现Java程序跨平台的关键。