目录

图文详述下载安装JDK,搭建Java开发环境,并运行第一个Java程序

图文详述:下载安装JDK,搭建Java开发环境,并运行第一个Java程序

文章目录

前言

接触过 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 技术应用最广泛的领域。

https://i-blog.csdnimg.cn/blog_migrate/8b84cffaf70083fd3cd04fdd8961836d.png

二、JDK、JRE和JVM

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

https://i-blog.csdnimg.cn/blog_migrate/fbf0a2ef5098e803b831c29dc8ad5f02.png

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 官网:

JDK 下载页:

第一步 选择JDK版本

https://i-blog.csdnimg.cn/blog_migrate/d301280a6965c8b522df07465a7cdf1a.png

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

https://i-blog.csdnimg.cn/blog_migrate/ddd5aceed3a30f0d08a4010bfed24129.png

2. JDK 安装

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

https://i-blog.csdnimg.cn/blog_migrate/402a6d6b1299e63e281d4bb5180cd6f9.png#pic_center

第二步 点击下一步

https://i-blog.csdnimg.cn/blog_migrate/dbed28a963fceb0bfc66fe02a9a686d8.png#pic_center

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

https://i-blog.csdnimg.cn/blog_migrate/886716fe2a5be73be80a62e9e15f0ddc.png#pic_center

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

https://i-blog.csdnimg.cn/blog_migrate/2d4fbdc8ef8b308c0a392967c9b498cf.png#pic_center

第五步 安装完成

https://i-blog.csdnimg.cn/blog_migrate/939dfb23df2bb1ec6abe2b7111bc41f2.png

第六步 验证是否安装成功

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

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

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

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

1. 方式一 命令提示符

步骤一: 进入jdk安装目录下的bin文件夹,然后在路径显示框中直接输入cmd,点回车,即可在当前文件夹下打开命令提示符,并且路径是当前文件夹。

https://i-blog.csdnimg.cn/blog_migrate/15afd21e3bf3058b32df24d6e40eff1f.png

https://i-blog.csdnimg.cn/blog_migrate/5c779b3726cc309eebe61a61d962ed6d.png

https://i-blog.csdnimg.cn/blog_migrate/52a284ca460f68a733ce183f94c5276f.png

步骤二: 分别执行 java -versionjavac -version 命令,查看结果,如图安装成功。

如果显示: 'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件。 则为安装失败。

https://i-blog.csdnimg.cn/blog_migrate/681e62ed8e06a2479b9a76229dd2b5c0.png

tip:命令提示符中怎么复制内容?
选中想要复制的内容,按回车键。此时好像什么都没发生,选中的内容也恢复了,但其实已经复制好了。
在想要粘贴的地方直接粘贴就可以了。

2. 方式二 Windows PowerShell

步骤一: 找到 jdk 的安装目录下的 bin 文件夹,在 bin 文件夹上点击 鼠标右键 或者 Shift+鼠标右键,按图操作。

注:个人猜测操作系统不同,导致显示的功能项也不同,进而导致运行的界面不一样,输出结果也不一样。

https://i-blog.csdnimg.cn/blog_migrate/480edc5c067a75d043cc2ed123d891d1.png

步骤二: 分别执行 java -versionjavac -version 命令,查看结果。

https://i-blog.csdnimg.cn/blog_migrate/c37f4e41f193f30fb9227f0d63d909d1.png

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

首先,清楚为什么要配置环境变量?

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

  • 然而 javac 位于 JDK 安装路径下的 bin 文件夹中,跟 .java 源文件往往不在同一个文件夹下。因此,当我们在源文件所在的文件夹中调用 javac 编译程序时,会发现系统根本找不到。

  • 除非是特殊情况,正好放在一个文件夹里。事实上程序员通常不会将开发的程序文件与 JDK 安装文件放在同一个文件夹中,因此就会出现下图这样的错误.

    https://i-blog.csdnimg.cn/blog_migrate/2ef9bec575722efa5f3fa934209e3e11.png

    因此,为了方便在任何目录下都可以使用编译程序,就需要配置环境变量了。

    我们要在 Path 这个环境变量当中把 javac 编译程序所在的位置添加进去!我们都知道 javac 编译程序位 JDK 安装路径下的 bin 文件夹中,所以我们就要把 bin 这个路径添加到环境变量当中去。这样,无论源文件在哪里,操作系统都随时能找到 javac 编译程序并对其进行编译。经过配置之后,bin 文件夹下其他的可执行文件也能够在任何目录下被调用,其中包括执行 Java 程序的 java.exe。

    简言之,通过配置环境变量,可以使 javacjava 命令在任何目录下生效。

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

  • 本文以win11操作系统为例。

  • 注意:环境变量中的非相关项不要轻易删改,否则可能导致其他程序无法正常运行,甚至系统故障。

    第一步 打开环境变量界面

    右击此电脑—>属性—>高级系统设置—>环境变量,就会弹出环境变量界面

    https://i-blog.csdnimg.cn/blog_migrate/8ed2894be844ce9553017009eef9a474.png#pic_center

    https://i-blog.csdnimg.cn/blog_migrate/c8c02ce01fc4356a5195bc0bd90f5c6d.png

    第二步 在弹出的“环境变量”窗口下找到 “系统变量”’然后选择新建

    https://i-blog.csdnimg.cn/blog_migrate/88189e152e83ec2cf42c168647c2de57.png

    第三步 新建一个叫 JAVA_HOME 的系统变量,变量值为你的 jdk 安装路径

    注意:变量名称全大写,方便其他应用程序调用

    https://i-blog.csdnimg.cn/blog_migrate/96611dea90ed627db46f302e64b1554e.png

    第四步 验证系统变量是否新建成功

    https://i-blog.csdnimg.cn/blog_migrate/ad0042598070f325e375f1dd82b5d7c3.png

    第五步 系统变量中找到 Path 变量, 选中它点击编辑

    https://i-blog.csdnimg.cn/blog_migrate/35aa20ccd233140b326d9c44582cbfe8.png

    第六步 在编辑环境变量页面点击新建

    https://i-blog.csdnimg.cn/blog_migrate/cdecda74b8a83a931e78564e347916d6.png#pic_center

    第七步 输入%JAVA_HOME%\bin

    %%是表示读取两个百分号中间的变量值,即jdk安装目录,后面加上\bin表示jdk安装目录下的\bin目录。

    注:%JAVA_HOME%\jre\bin 这个就不需要配置了,因为 jdk 中已经包含 jre 了。

    https://i-blog.csdnimg.cn/blog_migrate/079c570111f3910ff47e83e149355b82.png#pic_center

    第八步 将新建的%JAVA_HOME%\bin变量上移到顶部,表示优先使用

    https://i-blog.csdnimg.cn/blog_migrate/0d6377c5f34efdd6eb9ccb7459a7cf84.png

    第九步 一路点击确定按钮,否则配置不生效

    https://i-blog.csdnimg.cn/blog_migrate/967b371a8275f52a008cfbdcae88ed75.png

    https://i-blog.csdnimg.cn/blog_migrate/0a39e977969de9cf3cc7d7b3e47be12a.png

    https://i-blog.csdnimg.cn/blog_migrate/fb7eec3b9777b5b710b848ec015d0762.png


注意事项:

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

https://i-blog.csdnimg.cn/blog_migrate/5a1b3db826829e859887c3eb669899e5.png#pic_center

https://i-blog.csdnimg.cn/blog_migrate/f7d125ccb3d8509ae9f1f683de07d0a3.png

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;

    1. Path 中删除 C:\Program Files (x86)\Common Files\Oracle\Java\javapath 变量,对应目录下的文件也可以删除。

4. JDK 测试

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

第二步 输入 java -versionjavac -version 命令,出现如下图的提示,则配置成功

https://i-blog.csdnimg.cn/blog_migrate/8930e050a12a735a4897dca46ed34714.png

第三步 如果提示: 'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。 ,则配置失败

此时,你需要冷静一下,考虑下是下载的问题,还是安装的问题,还是配置的问题,进而决定是卸载 jdk 重新下载,重新安装,还是只需要重新配置环境变量。

四、第一个Java程序 — HelloWorld

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

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

https://i-blog.csdnimg.cn/blog_migrate/aee8804d5b2616c14f169ab92aed6039.png

3. 在文件内输入以下代码,注意大小写、空格、符号。

注意:文件名要和类名保持一致,首字母大写,上一步中文件名为 Hello ,所以这一步中的类名我们也设置为 Hello 。

java public class Hello{ public static void main(String[] args){ System.out.print("Hello,world"); } }

https://i-blog.csdnimg.cn/blog_migrate/8b4726758e1cfd88827c1e511555ca0b.png

4. 修改 Hello.txt 文件扩展名,将文件名改为 Hello.java 。

如果文件不显示扩展名,可以进行如下操作(不同操作系统略步骤有差别):

https://i-blog.csdnimg.cn/blog_migrate/15b9e89e17834ee94ca08fb3becdb6e6.png

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

https://i-blog.csdnimg.cn/blog_migrate/150b230da69db92e97dd04279290c738.png

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

  • 代码有错的话会报错,修改代码后重新执行。

    https://i-blog.csdnimg.cn/blog_migrate/465f9f6bd0625cc58b35734c6e256628.png

  • 执行成功

    https://i-blog.csdnimg.cn/blog_migrate/2397f81a6b3640e60cdd6e5ccea033a5.png

  • 执行成功后,文件夹下会多了一个 Hello.class 文件

    https://i-blog.csdnimg.cn/blog_migrate/c63b7c341a1727547e2b8f223ad5296a.png

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

https://i-blog.csdnimg.cn/blog_migrate/eb4da436c9fc2b2ba180a8c44eca4415.png

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/