04从零开始学Java之可能是最详细的Java环境配置教程

news2024/11/25 19:51:25
作者孙玉昌,昵称 一一哥,另外 壹壹哥也是我哦
CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者

前言

在上一篇文章中,壹哥给大家重点讲解了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个核心功能:

1. 加载代码:由类加载器(class loader)完成;
2. 校验代码:由字节码校验器(bytecode verifier)完成;
3. 执行代码:由运行时解释器(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下载地址:

https://www.oracle.com/java/technologies/downloads/#java8

JDK 11下载地址:

https://www.oracle.com/java/technologies/downloads/#java11-windows

JDK 17下载地址:

https://www.oracle.com/java/technologies/downloads/#jdk17-windows

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

#各位要把环境变量的值,修改成自己的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介绍及安装】视频链接如下:

https://player.bilibili.com/player.html?bvid=BV1Ja411x7XB&p=6&page=6


【JDK环境变量配置】视频链接如下:

https://player.bilibili.com/player.html?bvid=BV1Ja411x7XB&p=7&page=7

七. 今日作业

1. 第一题

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

2. 第二题

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

3. 第三题

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/401284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

window vscode编辑appsmith源码

前言 本来最开始用的idea打开wsl中的appsmith,卡得一批。最后没办法,用自己的电脑装成ubuntu server,然后vscode的远程开发对appsmith源码进行编辑。如果自己电脑内存16个G或者更大可能打开wsl中的估计会还好,我公司电脑只有8g所…

Virtualbox Vagrant 迁移与恢复

前 言 window10电脑重新安装C盘。重装前正常使用的VirtualBox虚拟机,启动失败,先是启动报各种找不到{uuid.vmdk}文件的错误,使用原来的虚拟机配置文件虽然能正常启动,但是关闭虚拟机后,xxx.vbox配置文件的快照顺序又被…

MySQL主从复制,读写分离

目录 一、MySQL主从复制介绍 MySQL复制过程分成三步 二、主库配置master 1、步骤1 2、第二步:重启Mysql服务 3、第三步:登录Mysql数据库,执行下面SQL 4、第四步:登录Mysql数据库,执行下面SQL,记录下结果中File和…

vue2 使用 cesium 【第二篇-相机视角移动+添加模型】

vue2 使用 cesium 【第二篇-相机视角移动添加模型】 搞了一阵子 cesium,小白入门,这东西很牛逼,但是感觉这东西好费劲啊!网上资料不多,每个人的用法又不一样,操作起来真的是绝绝子。之前写了一篇 vue2 使用…

【C#进阶】C# 反射

序号系列文章11【C#基础】C# 预处理器指令12【C#基础】C# 文件与IO13【C#进阶】C# 特性文章目录前言1,反射的概念2,使用反射访问特性3,反射的用途4,反射的优缺点比较4.1 优点:4.2 缺点:5,System…

吲哚菁绿-巯基,ICG-SH,科研级别试剂,吲哚菁绿可用于测定心输出量、肝脏功能、肝血流量,和对于眼科血管造影术。

ICG-THIOL,吲哚菁绿-巯基 中文名称:吲哚菁绿-巯基 英文名称:ICG-THIOL 英文别名:ICG-SH 性状:绿色粉末 溶剂:溶于二氯甲烷等其他常规有机溶剂 稳定性:冷藏保存,避免反复冻融。 存储条件&…

搭建SpringBoot多模块微服务项目脚手架(二)

搭建SpringBoot多模块微服务项目脚手架(二) 文章目录搭建SpringBoot多模块微服务项目脚手架(二)1.概述2.封装 MybatisPlus2.1.封装MybatisPlus1.安装依赖2.安装lombok插件3.配置数据库链接信息2.2.创建公共子模块1.创建公共模块common2.创建common_utils模块3.创建service_base…

【C++知识点】文件操作

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:C/C知识点 📣专栏定位:整理一下 C 相关的知识点,供大家学习参考~ ❤️如果有收获的话,欢迎点赞👍…

【六祎 - 前端】npm是什么?npm是网站、注册表、命令行工具组成;windows安装nvm;使用nvm安装npm;

nvm管理并安装npmnpm中文文档npm是什么?npm 由三个独立的部分组成:快速入门命令行npm用法npm配置查找包(package)windows安装nvm使用nvm安装npmps:切换版本下载npm之后的一些配置(Optional)npm中文文档 →_→点我查看…

Java的stream流

Java 8中引入的新特性,stream流通过与Lambda表达式结合,采用函数式编程,简化数组、集合操作,提高效率。 我们操作一个集合,就把他看作一个流,整个流依次执行,(可以类比为一个管道&a…

企业官网怎么做?

企业官网是企业展示形象和吸引潜在客户的重要渠道之一,因此如何打造一款优秀的企业官网显得尤为重要。本文将从策划、设计、开发和上线等方面,为您介绍企业官网的制作步骤。 一、策划 1.明确目标 企业官网的制作需要明确目标,即确定官网的主…

4. SSM 整合

文章目录1. 引言2. 创建工程3. SSM 整合2. 统一结果封装3. 统一异常处理3.1 异常处理器3.2 项目异常处理方案3.2.1 异常分类3.2.2 异常解决方案3.2.3 异常解决方案的具体实现4. 前后台协议联调4.1 列表功能4.2 添加功能4.3 修改功能4.4 删除功能5. 拦截器5.1 拦截器概念1. 引言…

mysql数据库之innodb存储引擎架构之内存架构

一、逻辑存储结构 mysql5.5版本开始,默认使用innodb存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。 架构图(左侧为内存架构,右侧为磁盘架构) 二、 内存架构。 1、缓冲…

SpringBoot使用Redis实现缓存

目录 实现步骤 1. 在 pom.xml 配置文件中添加如下依赖 2. 在 application.properties 中添加如下配置 3. 新建 RedisConfig.class,继承 CachingConfigurerSupport,添加如下方法 4. 新建 RedisService.class 添加如下方法 注意:cacheKey…

看完书上的栈不过瘾,为什么不动手试试呢?

一.栈的基本概念1.栈的定义栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。其中注意几点:栈顶(Top):线性表…

2023年新三板产品及服务研究报告

第一章 概述 全国中小企业股份转让系统(英语:National Equities Exchange and Quotations,缩写NEEQ),简称股转系统,是第三家全国性证券交易场所,因挂牌企业均为高科技企业而不同于原转让系统内…

软件测试12

一 Linux命令的共通知识点 1.通配符的使用 通配符:又叫文件名替换符号,符号具备特殊含义,例如:文件名:test,通配符可以写成???或者* *:代表可以匹配任意长度的文件名(all所有&am…

xxl-job registry fail

解决方法: 1、检查nacos是否正确,一定要注意格式,一般都是addersses的地址问题,一定的要加/不然找不到,本机就不要使用ip了,用localhost。 xxl: job: admin: addresses: http://localhost:8080/xxl-job-ad…

【java】 java开发中 常遇到的各种难点 思路方案

文章目录逻辑删除如何建立唯一索引唯一索引失效问题加密字段模糊查询问题maven依赖冲突问题(jar包版本冲突问题)sql in条件查询时 将结果按照传入顺序排序作为一个开发人员 总会遇到各种难题 本文列举博主 遇见/想到 的例子 ,也希望同学们可以…

【LVGL移植】STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT ST7735S跑LVGL图形demo

【LVGL移植】STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT ST7735S屏幕跑LVGL图形demo🎬运行LVGL 按键组件demo ✨基于STM32CubeMX配置工程是因为方便移植,只要是STM32芯片,拿到我的这个工程源码就可以根据自己的stm32芯片,自…