百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

从零开始学Java系列之最详细的Java环境变量配置教程

citgpt 2024-07-12 09:55 8 浏览 0 评论

前言:

在上一篇文章中,壹哥给大家重点讲解了Java实现跨平台的原理,不知道你现在有没有弄清楚呢?如果你还有疑问,可以在评论区留言~

从零开始学Java系列之最详细的Java环境变量配置教程

之前的三篇文章,主要是理论性的内容,其实你暂时跳过不看也是可以的,我们可以先把精力重点放在如何实操上,等以后有时间了再回头来看也行哦。

------------------------------前戏已做完,精彩即开始----------------------------

全文大约【3500】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好地理解和运用文中的技术概念,并给你带来具有足够启迪的思考......

我们在学习使用任何一门编程语言之前,都必须先搭建出对应的开发环境,Java也不例外。就好比你像生产汽车,必须得先修建起一个汽车工厂,这就是造车时所必须的“环境”。而我们要想搭建出Java的开发和运行环境,必须安装JDK,并配置JDK环境变量。

所以接下来,壹哥会带各位认识什么是JDK、JRE,及JDK的安装配置,这是我们进行Java开发“万里长征”的第一步,非常关键哦!

一、Java环境

我们这里所谓的Java环境,就是指Java开发和运行时所需要的“场所或地方”。你要在什么地方编写Java代码?你编写的Java代码又该在哪里运行?在真正学习代码开发之前,我们必须把这些问题给搞定!

1. JDK

对我们Java程序员来说,要想开发Java项目,必须安装的软件,第一个就是JDK!

JDK:Java Development Kits,Java开发工具集/包。JDK是Java开发人员首先必备的软件包,其中包含了Java的各种开发工具、编译工具(javac.exe)、打包工具(jar.exe)等,也包含了Java的运行环境JRE。所以我们在安装了JDK之后,其实就不用再单独安装JRE了,JDK中自带JRE!

在JDK的各种开发工具里,我们比较常用的是Java编译器(javac.exe)、Java运行时解释器(java.exe)、Java文档化化工具(javadoc.exe)等。关于这些工具的使用,壹哥后面会给大家详细讲解!

2. JRE

如果我们想要运行Java代码,还必须另一个软件,这就是JRE!

JRE:Java RunTime Environment,Java运行时环境,主要负责运行Java项目。JRE包括JVM虚拟机,和Java程序所需要的各种核心类库等。如果我们不做Java开发,只是想运行一个已经开发好的Java程序,电脑上其实只要安装JRE就行了。

展开来说,JRE有3个核心功能:

加载代码:由类加载器(class loader)完成;

校验代码:由字节码校验器(bytecode verifier)完成;

执行代码:由运行时解释器(runtime interpreter)完成。

3. JDK、JRE、JVM的关系

结合之前壹哥跟大家说过的JVM,现在我们可以理顺一下JDK、JRE、JVM三种之间的关系,如下图所示:

现在你知道JDK、JRE、JVM是怎么回事了吗?弄清楚这些关系之后,接下来我们就可以进行JDK和JRE的下载、安装、配置了。

二、下载JDK

壹哥在之前的文章中,跟大家说过,目前JDK的版本分为 non-LTS短期维护和LTS长期维护 两种情况。对于真实的企业开发而言,肯定不会采用non-LTS版本,为了真正地贴合实际开发,壹哥建议大家下载LTS版本的JDK。而目前最主流的LTS版本还是JDK 8,所以本文的教程主要是基于JDK 8环境。如果你想体验新版JDK,可以下载JDK 11或JDK 17,不要下载安装其他的non-LTS版本。

1. 下载地址

JDK 8下载地址:

Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.Oracle

JDK 11下载地址:

Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.Oracle

JDK 17下载地址:

Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.Oracle

2. 注意事项

点击上面的链接就可以进行下载了。但是注意,如果你之前没有在Oracle官网注册过账号,有可能需要先注册登录。然后可以根据自己电脑的CPU型号,选择点击jdk-8u341-windows-i586.exe(32位),或者是jdk-8u341-windows-x64.exe(64位)进行下载。

这里的8u341代表JDK 8版本,341代表子版本,u是update(更新)的缩写。另外Windows i586对应的是Windows 32位系统,Windows x64对应的是Windows 64位系统。

三、安装JDK与JRE

壹哥本人的JDK版本是jdk8u221,故接下来会以该版本为例,在windows环境下进行示意安装。大家注意,无论是JDK 8、11、17,或者是其他版本,它们的下载、安装、配置过程都一样,我们不必刻意追求JDK的版本必须一致!!!

1. 双击安装包

下载完jdk安装包之后,【双击】“jdk-8u221-windows-x64.exe”文件,然后点击【下一步】

2. 自定义安装目录

JDK的默认安装目录为“C:\Program Files(x86)\Java\jdk1.8.0_221\”,壹哥建议大家更改一下安装目录,最好不要安装在C盘下,防止以后重装系统后还需要重新安装JDK。

你可以通过点击【更改】按钮,自定义安装路径,我这里把JDK安装到了D:\Java\jdk1.8.0_221\路径下。

特别提示:

从你学习编程开始,请养成一个良好的习惯,不要使用中文或特殊字符作为文件夹的名称,否则后期开发时可能出现一些莫名其妙的错误!!!

3. 等待安装完成

继续点击【下一步】按钮,会出现”正在安装......正在复制新文件“的界面,等待安装结束,JDK就算是安装完毕了。

至此,JDK本身就已经安装完毕了!

友情提示:

其实JDK不需每次都安装,因为它本身是绿色版本,我们其实可以直接把JDK安装存入到自己的U盘,这样你在任何计算机上都可以直接使用。

但绝大多数情况下,我们还是采用安装到电脑上的方式来使用JDK,这样做的好处在于,JDK会在注册表中被注册,这样以后JDK出现新版本时会自动更新!

接下来系统界面会提示你,是否需要再选择安装一个额外的JRE。这是可选的,因为之前安装的JDK中,已经包含了开发环境和JRE运行环境两部分,所以不必再安装一个JRE。一般情况下,我们可以直接点击【取消】按钮即可。

但如果你没有点击【取消】按钮,而是点击了【下一步】按钮,也可以。壹哥再给大家展示一下点击【下一步】按钮时的效果!

4. 选择安装JRE

在我们点击了【下一步】按钮之后,就会出现如下界面:

最后点击【关闭】按钮,额外的JRE也安装完毕!

现在已经把JDK和JRE安装完毕了,那么是不是已经结束了呢?还没有哦!现在还有一个更重要的步骤需要我们去做,这也是很多新手会容易出错的地方。接下来请大家擦亮眼睛,仔细跟着壹哥一步步往下做,我们来配置Java的环境变量!

四、配置Java环境变量

1. 打开”属性“设置

首先我们要【右击“计算机 或者是 此电脑”】,点击【属性】按钮。

2. 高级系统设置

然后点击【高级系统配置】按钮:

接着选择【高级】选项卡,再点击【环境变量】按钮:

3. 新建JAVA_HOME系统变量

接下我们需要在【系统变量】中创建一个新的变量,变量的名字叫做【JAVA_HOME】。【JAVA_HOME】变量的值是JDK的安装目录,即 JAVA_HOME = D:\Java\jdk1.8.0_221。

注意:

一定要在【系统变量】中创建新的变量,而不是在【用户变量】中创建!

4. 修改Path系统变量

接下来我们要修改Path变量的值,用于指定操作系统可执行指令的路径。我们要在【Path路径的“最前面”】复制添加如下内容即可,注意不要覆盖掉Path以前的内容:

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

这里的%JAVA_HOME%,表示在path变量中动态获取名称为JAVA_HOME的环境变量的值。通过这种方式,即使以后我们把JDK的安装目录改变了,我们只需要修改JAVA_HOME环境变量的值,而不用再修改Path环境变量里的内容。如下图所示:

另外要注意,在 Windows10及以上版本的系统中,Path变量是分条显示的,我们需要将 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 分开添加,否则无法识别,如下图所示:

%JAVA_HOME%\bin;

%JAVA_HOME%\jre\bin;

5. 新建CLASSPATH系统变量

为了方便以后加载class字节码文件,我们可以再创建一个【新的系统变量CLASSPATH】。Java虚拟机在运行某个类时,会按照CLASSPATH指定的目录顺序去查找需要的类。另外从JDK 5.0以后,默认会在当前的工作目录及JDK的lib目录中查找所需要的类,即使不设置 CLASSPATH 环境变量,也可以正常编译和运行 Java 程序。

CLASSPATH系统变量的值如下所示:

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar

注意:

CLASSPATH最前面是一个”.“,不要省略掉!请直接把壹哥CLASSPATH变量复制到自己的环境中即可!

6. 小结

截止到现在,我们先做个简单总结。

我们需要在 "系统变量" 中一共设置 3 项属性,JAVA_HOME、PATH、CLASSPATH。若这些变量已存在,则点击"编辑";不存在,则点击"新建"。

这些变量要设置的参数值如下:

●变量名:JAVA_HOME

●变量值:D:\Java\jdk1.8.0_221 // 要填写你自己的JDK实际安装路径

●变量名:Path

●变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

●变量名:CLASSPATH

●变量值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar //记得前面有个"."

7. 验证环境变量

接下来我们要验证环境变量是否配置成功了。我们要先打开dos命令行窗口,输入 java -version 和 javac命令,如果能看到下图所示,则表示成功。

如果出现了以上界面效果,就说明我们已经成功地配置了Java的环境变量,以后就可以愉快地编写Java代码了!

8. 打开dos命令窗口

如果你没有多少电脑的使用技巧,比如不知道怎么打开dos命令行窗口,可以使用如下方式:

点击“开始”-->“所有程序”-->“附件”-->“命令提示符”。

弹出dos窗口:

五、JDK目录结构

1. JDK目录结构

在我们成功地安装好JDK之后,就会在自己的安装目录下看到JDK的文件夹,一般如下图所示:

这里JDK安装目录下的bin(binary)文件夹,是二进制命令文件所在的目录。

2. bin目录详解

在JDK安装目录下,有一个bin(binary)文件夹,这里存放的是二进制命令文件,其中各种exe文件(都是使用java语言编写),就是我们开发Java程序时所需要的命令工具。这些命令文件一般都不是图形化方式操作的(双击执行是无效的),而是以命令行的方式操作的,所以使用时一般是需要在命令行窗口中操作。

其中比较常用的命令有java.exe、javac.exe、javadoc.exe等,我们需要记住!

至此,壹哥就把Java环境给大家介绍完毕,本文的重点是如何安装配置Java环境,请大家一定要配置好哦!

六、 今日作业

第一题

请解释JDK与JRE的区别,评论区给出你的答案。

第二题

请按照壹哥的步骤,安装好JDK。

第三题

请按照壹哥的步骤,在自己的电脑上搭建配置出标准的Java环境变量。

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: