文章目录

前言一、Java 三大版本二、JDK、JRE和JVM三、Java 开发准备1. JDK 下载2. JDK 安装3. JDK 配置 (Java 开发环境搭建)4. JDK 测试

四、第一个Java程序 — HelloWorld总结

前言

接触过 Java 开发的同学们应该经常会看到 JDK、JRE、JVM 的字眼,但是很多同学可能对这几个名词以及它们之间的关系一直稀里糊涂,不清楚它们之间真正的作用和含义,然而了解 JDK、JRE、JVM 的含义及它们之间的关系是我们更加深刻的理解 Java 语言特性的基础。 本文主要内容就是从介绍 Java 三大版本开始,然后简单介绍一下 JDK、JRE 和 JVM 含义及关系,在了解之后,进一步学会搭建 Java 开发环境,并编写自己的第一个 Java 程序,正式走进 Java 程序猿的世界。

一、Java 三大版本

Java 三大版本代表着 Java 技术的三个应用领域: JavaSE、JavaME、JavaEE 。 ​Java 以前很长一段时间被称为Java2,所以现在很多人习惯称为 J2SE、J2ME、J2EE ,它们表示的含义是一样的。

1. JavaSE(Java Standard Edition):Java标准版 图形界面开发,主要用于开发桌面应用程序,包含 Java 核心类库,是整个 Java基础和核心,也是 JavaEE 和 JavaME 技术的基础。

2. JavaME((Java Micro edition):Java微缩版 嵌入式开发,比如手机程序的开发,包含 JavaSE 中的部分类库,又有自己的扩展部分。(现在已经很少使用)

3. JavaEE(Java Enterprise Editon):Java企业版 企业级开发,一般用来开发服务器端程序的应用。是在 JavaSE 的基础上构建的(即包含 JavaSE )。它提供了企业级应用开发的完整解决方案,比如开发网站,还有企业的一些应用系统,是 Java 技术应用最广泛的领域。

二、JDK、JRE和JVM

首先通过这张 Java 图谱简单了解一下三者之间的关系

1. JDK(Java Development Kit):Java开发工具包

JDK 是开发 Java 程序的最小环境,是 Java 程序开发的核心所在,是程序员使用 Java 语言编写 Java 程序所需的开发工具包。JDK 提供了编译、运行Java程序所需要的各种工具和资源,包括 Java 编译器、Java 运行环境(JRE)、Java 虚拟机(JVM)以及常用的 Java 基础类库等。

2. JRE(Java Runtime Environment):Java运行环境

JRE 是运行 Java 程序的最小环境,是提供给想运行Java程序的用户使用的,用于解释执行 Java 的字节码文件 。JRE 通常非常小,它的内部包含一个Java虚拟机(JVM)、Java 核心类库及支持文件。但不包含 Java 开发工具(JDK)——编译器、调试器和其它工具。

3. JVM(Java Virtual Machine):Java虚拟机

JVM 是 JRE 的一部分,是一种虚构出来的计算机,是通过在实际的计算机上模拟仿真各种计算机功能来实现的,JVM 是主流虚拟机之一。当使用 Java 编译器编译 Java 程序时,生成的是与平台无关的字节码,这些字节码只面向 JVM 。JVM 负责解释执行字节码文件,是可运行 Java 字节码文件的虚拟计算机,它是整个 Java 实现跨平台的核心。不同平台的 JVM 是不同的,但是所有平台上的 JVM 向编译器提供相同的接口,而编译器只需要面向虚拟机,编译生成虚拟机能识别的 Java 字节码,然后由虚拟机来解释执行。

为什么要采用字节码: 在 Java 中,JVM 可以理解的代码就叫做字节码(即 Java 源代码经过编译器编译后扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。 Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此, Java 程序无须重新编译便可在多种不同操作系统的计算机上运行。

什么是跨平台: 所谓跨平台性,是指 Java 语言编写的程序,一次编译后,可以在多个系统平台上运行。 实现原理: Java 程序是通过 JVM 在系统平台上运行的,只要该系统可以安装相应的 JVM,该系统就可以运行Java 程序。

4. 区分

JRE 是 Java 运行时环境,而JDK 是 Java 开发工具包,JDK 包含 JRE ,但是 JRE 可以独立安装。普通用户运行 Java 程序只需要安装 JRE ,而程序员需要编译、调试 Java 程序,则必须安装 JDK 。

三、Java 开发准备

注:各版本 JDK 下载、安装、配置步骤基本一样,此处笔者以经典的 Java8 (又称为 jdk1.8) 为例讲解。

1. JDK 下载

Oracle 官网:https://www.oracle.com/ JDK 下载页:https://www.oracle.com/java/technologies/downloads/archive/

第一步 选择JDK版本

第二步 选择适合操作系统的安装包

2. JDK 安装

第一步 双击安装包,开始安装

第二步 点击下一步

第三步 自定义 JDK 的安装路径  建议更改安装路径,不要装在系统盘,系统盘满了还得重装系统,会更麻烦

第四步 自定义 JRE 的安装路径   同理建议更改安装路径

第五步 安装完成

第六步 验证是否安装成功 注意:此时还并未配置环境变量,此处只是为了验证前边 JDK 是否安装成功,避免前边安装不成功影响后续步骤。

验证方法就是通过命令行验证:(注:①注意命令行中间的空格;②两个命令都执行成功才算jdk安装成功)

一个是通过 java -version 命令查看是否成功输出 java 的版本号。一个是通过 javac -version 命令查看是否成功输出 javac 的版本号。

由于不清楚 命令提示符 和 Windows PowerShell 的区别,在还没有配置环境变量的前提下,我这里尝试了两种方式验证。结果是命令提示符执行成功,Windows PowerShell 执行失败,有了解 Windows PowerShell 的同学可以解答一下原因。

1. 方式一 命令提示符 步骤一: 进入jdk安装目录下的bin文件夹,然后在路径显示框中直接输入cmd,点回车,即可在当前文件夹下打开命令提示符,并且路径是当前文件夹。 步骤二: 分别执行 java -version 和 javac -version 命令,查看结果,如图安装成功。     如果显示:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。则为安装失败。

tip:命令提示符中怎么复制内容?

选中想要复制的内容,按回车键。此时好像什么都没发生,选中的内容也恢复了,但其实已经复制好了。

在想要粘贴的地方直接粘贴就可以了。

2. 方式二 Windows PowerShell 步骤一: 找到 jdk 的安装目录下的 bin 文件夹,在 bin 文件夹上点击 鼠标右键 或者 Shift+鼠标右键,按图操作。 注:个人猜测操作系统不同,导致显示的功能项也不同,进而导致运行的界面不一样,输出结果也不一样。 步骤二: 分别执行 java -version 和 javac -version 命令,查看结果。

3. JDK 配置 (Java 开发环境搭建)

首先,清楚为什么要配置环境变量? 我们所写的 Java 程序,到最后都是保存为一个 .java 后缀的文档中,这个文件也叫做源文件。这个文件并不能直接被操作系统执行,它需要被 JDK 中的 javac 编译成后缀为 .class 的字节码文件,然后通过 JDK 中的 JVM 解释执行字节码文件。

然而 javac 位于 JDK 安装路径下的 bin 文件夹中,跟 .java 源文件往往不在同一个文件夹下。因此,当我们在源文件所在的文件夹中调用 javac 编译程序时,会发现系统根本找不到。除非是特殊情况,正好放在一个文件夹里。事实上程序员通常不会将开发的程序文件与 JDK 安装文件放在同一个文件夹中,因此就会出现下图这样的错误. 因此,为了方便在任何目录下都可以使用编译程序,就需要配置环境变量了。 我们要在 Path 这个环境变量当中把 javac 编译程序所在的位置添加进去!我们都知道 javac 编译程序位 JDK 安装路径下的 bin 文件夹中,所以我们就要把 bin 这个路径添加到环境变量当中去。这样,无论源文件在哪里,操作系统都随时能找到 javac 编译程序并对其进行编译。经过配置之后,bin 文件夹下其他的可执行文件也能够在任何目录下被调用,其中包括执行 Java 程序的 java.exe。 简言之,通过配置环境变量,可以使 javac 和 java 命令在任何目录下生效。

具体配置 Java 环境变量步骤如下:

本文以win11操作系统为例。注意:环境变量中的非相关项不要轻易删改,否则可能导致其他程序无法正常运行,甚至系统故障。 第一步 打开环境变量界面 右击此电脑—>属性—>高级系统设置—>环境变量,就会弹出环境变量界面 第二步 在弹出的“环境变量”窗口下找到 “系统变量”’然后选择新建 第三步 新建一个叫 JAVA_HOME 的系统变量,变量值为你的 jdk 安装路径 注意:变量名称全大写,方便其他应用程序调用 第四步 验证系统变量是否新建成功 第五步 系统变量中找到 Path 变量, 选中它点击编辑 第六步 在编辑环境变量页面点击新建 第七步 输入%JAVA_HOME%\bin %%是表示读取两个百分号中间的变量值,即jdk安装目录,后面加上\bin表示jdk安装目录下的\bin目录。 注:%JAVA_HOME%\jre\bin 这个就不需要配置了,因为 jdk 中已经包含 jre 了。 第八步 将新建的%JAVA_HOME%\bin变量上移到顶部,表示优先使用 第九步 一路点击确定按钮,否则配置不生效

注意事项: 如果你发现你的 Path 变量中已经配置了一个 Java 环境变量了,并且按照该路径打开你会看到上面三个程序。那么此时你需要按照下列步骤处理一下:

JDK 自动配置环境变量怎么处理?(解决自定义配置 java 环境变量不生效的问题) 首先明确,这个其实是 JDK8+ 安装完成后自动配置的环境变量。据说 JDK 安装版会自动配置,解压版不会自动配置。以 jdk-8u341-windows-x64.exe 为例,环境变量 Path 中会自动增加 C:\Program Files (x86)\Common Files\Oracle\Java\javapath;。

如果你只需要一个 Java 环境,则完全不需要再单独配置 JAVA_HOME、修改 Path 了,直接可以用该环境。如果你需要使用自定义的 Java 环境配置(或者配置多个 JDK 路径,方便切换),有以下两种解决方案:  1. 修改 Path 系统变量中的顺序,将 %JAVA_HOME%\bin; 提前,移动到自动配置的变量前,优先使用。   原顺序:C:\Program Files\Common Files\Oracle\Java\javapath;%JAVA_HOME%\bin;   更改顺序为:%JAVA_HOME%\bin;C:\Program Files\Common Files\Oracle\Java\javapath;  2. Path 中删除 C:\Program Files (x86)\Common Files\Oracle\Java\javapath 变量,对应目录下的文件也可以删除。

4. JDK 测试

第一步 win+r 打开运行框,输入 cmd,点击回车,进入命令行界面

第二步 输入 java -version 和 javac -version 命令,出现如下图的提示,则配置成功 第三步 如果提示:'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。,则配置失败 此时,你需要冷静一下,考虑下是下载的问题,还是安装的问题,还是配置的问题,进而决定是卸载 jdk 重新下载,重新安装,还是只需要重新配置环境变量。

四、第一个Java程序 — HelloWorld

1. 新建文件夹,用来储存代码。

2. 在文件夹内右键新建一个 Hello.txt 文件。

3. 在文件内输入以下代码,注意大小写、空格、符号。 注意:文件名要和类名保持一致,首字母大写,上一步中文件名为 Hello ,所以这一步中的类名我们也设置为 Hello 。 java public class Hello{ public static void main(String[] args){ System.out.print("Hello,world"); } }

4. 修改 Hello.txt 文件扩展名,将文件名改为 Hello.java 。 如果文件不显示扩展名,可以进行如下操作(不同操作系统略步骤有差别):

5. 在文件夹上方输入”cmd+空格+回车“,即可在当前文件下直接打开命令提示符。

6. 在命令提示符内输入“javac+空格+文件夹名称.java”回车。 注意此时带 .java 后缀名

代码有错的话会报错,修改代码后重新执行。 执行成功 执行成功后,文件夹下会多了一个 Hello.class 文件

7. 在命令提示符内输入“java+空格+文件名”回车。 注意此时不带后缀名

8. 成功输出 以上步骤,要在下载安装好 jdk ,配置好 java 环境之后。

总结

通过以上阅读以上内容,相信你已经对 JDK 等有了一个简单的了解,并且已经安装好 JDK ,配置好了 Java 开发环境,而且成功运行了自己的第一个 Java 程序,现在恭喜你已经迈出 Java 程序员的第一步了。 如果你在文中发现什么错误或者遇到什么问题,也请随时联系笔者解决。

参考文献一:https://blog.csdn.net/qq_42250281/article/details/123662746 参考文献二:https://blog.csdn.net/weixin_54217081/article/details/122521606 参考文献三:https://blog.csdn.net/m0_58873085/article/details/125242114 参考文献四:https://zhuanlan.zhihu.com/p/376054382 java官方文档:https://docs.oracle.com/javase/8/docs/

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: