图文详述:下载安装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 技术应用最广泛的领域。
二、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 开发准备
注:此处笔者以经典的 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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏