Java 的下载安装教程_wangpaiblog的博客-程序员宅基地_java下载安装教程

技术标签: jdk  Java  java  教程/方法  javase  

Java 17 的下载安装教程

说明:

笔者的安装环境:

  • JDK 17

  • Windows 10 教育版


(笔者这个懒狗终于决定将本博客从 Java 13 更新至 Java 17 了!)


  1. 安装 Java 就是安装 JDK。Java 有三大分支,这里选择的是 Java SE。关于这些分支的区别,请见笔者的另一篇博客:

    Java SE、JDK、Java EE、Java 框架、Java ME 之间的区别:
    https://blog.csdn.net/wangpaiblog/article/details/112342415

    此外,对于 JDK,也更替了很多个版本,其中也分为 LTS 版本和非 LTS 版本。LTS 指长期支持版(Long Term Support)。对于这个概念,这里不多作解释,读者可以简单将它们理解为稳定版与快照版。

    (Java 的 LTS 版本目前有:Java 8、Java 11、Java 17。网址: https://www.oracle.com/java/technologies/java-se-support-roadmap.html

    笔者的意见是,最好下载最新的 LTS 版本。但对于一些刚刚学习 Java 的读者来说,下载哪个版本区别不大,因为它们之间的区别不会在简单的 Java 程序中体现。编写本教程的时候,笔者下载的是当时的最新 LTS 版 Java SE 17

  2. 进入 Oracle 官网下载 Java SE,也就是 JDK 的安装包。

    Java 的官网下载链接:https://www.oracle.com/java/technologies/downloads/

    Java 17 下载处的最终网址:https://www.oracle.com/java/technologies/downloads/#jdk17-windows

    (在 Java 17 以前,下载还需要注册一个 Oracle 账号。但在 Java 17 之后,Oracle 决定推出商业免费版。也许是担忧 Java 的市场份额每况愈下,垄断看来不够格。对于 Java 17,下载不需要注册账号,但之前的版本仍然需要。)

  3. 因为是国外的网站,所以可能网站加载缓慢。部分浏览器可能禁用此网站上的某些控件,所以如下的过程如果发现网站上缺失某些界面选项,可以试试换个浏览器。

    在这里插入图片描述


    【说明】

      在前面的下载中,可以看到,Windows 下的 JDK 数据包有两种可选的下载:Windows x64 InstallerWindows x64 Compressed Archive。其中,前者为 JDK 的离线安装包版本,后者为 JDK 的免安装版本。本教程使用的是前者。

      也可以选择 JDK 的免安装版。很多“免安装”狂热者很喜欢选择任何软件的免安装版本。不过,由于这两者没有本质上的区别,没有任何理由非要使用免安装版本。通常,使用离线安装包版本能减少很多麻烦。


  4. 下载好了之后应该有一个名叫 jdk-17_windows-x64_bin.exe 的安装包。运行安装包,这里 JDK 的默认路径是 C:\Program Files\Java\jdk-17\请记住这个路径,下面会用上。如图:

    在这里插入图片描述

    在这里插入图片描述

  5. 这一步完成之后就可以开始设定 Path 路径了,进行这一步是为了能在 Windows 的 CMD 中识别出 C:\Program Files\Java\jdk-17\ 下的 JDK 的相关命令。

  6. 这要进入 Windows 的环境变量界面(这里以 Win10 教育版为例),如图(请顺着图片用鼠标点击画红圈部分):

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  7. 这里需要在 Path 中填写 Java 的命令工具的路径。不过在这之前,需要先创建环境变量 JAVA_HOME。设置 JAVA_HOME 的值为 C:\Program Files\Java\jdk-17

    (如果你的电脑不打算设置多用户,则这里选择 用户变量 还是 系统变量 的 Path 区别不大。这里选择 用户变量。)

    在这里插入图片描述

    在这里插入图片描述

  8. 在设置完 JAVA_HOME 之后,在 Path 中添加新的一行 %JAVA_HOME%\bin

    在这里插入图片描述

    在这里插入图片描述


    【Q & A】

      阅读本教程的很多读者可能是初次学习编程,他们看到此处时可能有如下这些疑问。笔者将这些疑问解答于此。如果这些疑问没有覆盖全部的问题,也可以在下方留言提问。

      这些问题与 Java 安装没有必然的联系,如果读者暂时不想了解这些内容,可以先收藏本博客,然后跳过这些内容,日后再来阅读。

    • Q:环境变量 Path 有什么用?为什么要设置?

      A:这个问题解释起来很复杂,限于篇幅,这里简单解释一下。我们知道,使用 Java 之前要先安装,但使用 Java 的应用并不在乎 Java 有没有安装,实际上,它们也无法知道 Java 有没有安装。它们只是需要使用 Java 的一些命令(如 javajavac 等),这些命令对应着 Java 安装目录下的一些可执行程序。如果设置了环境变量,它们就可以借助操作系统来使用 Java 的命令,否则,对它们而言就相当于没有安装 Java。

      在 Windows 中,如果设置了环境变量 Path,则这些命令的来源(路径)可以通过输入命令 where 来找到,如:

      where java

      C:\Users\XXX>where java
      C:\Program Files\Common Files\Oracle\Java\javapath\java.exe
      C:\Program Files\Java\jdk-17\bin\java.exe
      

      如果想知道关于环境变量 Path 更多的信息,可见笔者的另一篇博客:

      Windows 中的环境变量 Path 的作用:
      https://blog.csdn.net/wangpaiblog/article/details/113622196

    • Q:环境变量是什么?为什么要设置?

      A:环境变量是操作系统提供的一种简易的、对应用公开的键值数据库。它可以用来存放某应用想要传达给其它应用或记录给自己的信息。你可以理解为每个应用自己主动设置的 QQ 签名。

      特别地,对于环境变量 Path,它特指可执行文件的绝对路径。其中,该可执行文件的文件名将作为可在 CMD 中输入的命令名。如果不使用环境变量 Path,则执行这些命令时需要输入全路径。其它应用往往只知道所需的命令名,而不知道所需应用的路径,所以需要提前设置环境变量 Path。

    • Q:为什么要同时设置 JAVA_HOMEPath

      A:对于简单的 Java 程序来说,实际上只需要将 Java 的命令工具的路径添加至 Path 中即可(对于简单的 Java 程序来说,实际上只需要设置 PathC:\Program Files\Java\jdk-17\bin\)。不过,很多依赖 Java 的工具技术还要求设置其它环境变量,如 JAVA_HOME,而且这个环境变量非常常用,因此这里选择在安装时就予以配置。换句话说,如果其它工具技术还要求设置更多环境变量,那就还需要单独配置。

      环境变量并不是配置的越多越好,冗余是万恶之首,请按需配置。

    • Q:环境变量 PathJAVA_HOME 有什么区别?

      A:关于这方面的内容,可见笔者的另一篇博客:

        Windows 中的环境变量 Path 与 XXXX_HOME 的区别:
      https://blog.csdn.net/wangpaiblog/article/details/112644073

    • Q:为什么非要手动配置环境变量,为什么 Java 不让安装包来完成这些操作呢?

      A:让安装包在安装时自动设置环境变量是很简单的事情,Oracle 没有选择这么做主要是为了给用户提供更多的自由。用户有可能会在电脑上安装很多个版本 JDK,如果让安装包自动完成这项工作,这将影响用户原来设置的环境变量,因此安装包没有提供这项功能。

      并不是所有的安装程序都不会帮用户设置环境变量,实际上,大多数的应用程序都会选择帮用户进行这种设定。关于这个问题需要理性看待,帮用户设置环境变量一方面可以方便用户,另一方面则会污染操作系统中的环境变量。类似的问题还发生在 WIndows 中的注册表,如果每个应用没有自觉进行合理的使用,那么整个注册表将成为一个垃圾堆。

    • Q:环境变量 CLASSPATH 是什么?为什么很多教程都写要加这个环境变量?

      A:关于网上其它教程的质量,这里不作评价。首先,对于 JDK 1.4 及以前的版本,才需要配置环境变量 CLASSPATH。它的作用是指定运行 Java 程序所需的 .class 文件,以及运行所需的 JDK 包(dt.jartools.jar)。用户所编写的 Java 程序的源文件的位置是不确定的,为什么可以预先设定呢?原因是可以在环境变量的路径值中使用 . 来表示当前路径。为什么不把这个设定提前融入到 JDK 中呢?很遗憾,在 JDK 1.4 及以前,就是没有提供这样的功能。要知道,JDK 1.4 是 2002 年发布的。对于 JDK 1.5 及之后的版本,也可以不用配置 CLASSPATH


    标准的配置为

    • 变量名:JAVA_HOME

      变量值:C:\Program Files\Java\jdk-17

    • 变量名:Path

      变量值:%JAVA_HOME%\bin


  9. 以上如果设置完成之后,进入 CMD 中分别输入 javajavac,应该会出现篇幅很长的说明文字,这说明前面的设置已经成功。进入 CMD 的方法有很多,这里只举一例。

    使用快捷键 Win + R 打开 运行,然后输入 cmd

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  10. 设置完成之后,就可以安装关于 Java 的集成开发工具 IDE 了。主流的 IDE 有 IntelliJ IDEA、Eclipse 、MyEclipse、NetBeans 等。这些软件简介如下:

    • IntelliJ IDEA:

      Java 中功能最强大的 IDE。主流企业除非抵制等特殊原因,使用的都是该软件。一种观点认为,如果一个企业的 Java 开发如果没有使用该软件,而是 Eclipse,可以考虑换一家公司了。如果使用的是其它 IDE,可以连夜提桶跑路了。

      IntelliJ IDEA 的下载安装非常傻瓜,不再另开博客作介绍。但很遗憾,该软件不是免费的。

      IntelliJ IDEA 在 2021 年之后的版本已经以插件的形式给出了 IntelliJ IDEA 的官方汉化版。该插件名为:Chinese (Simplified) Language Pack

      (笔者很愿意就在这里讲解免费安装的方法,但由于版权的问题,读者需要在网上自行了解。如果实在找不到,也可在下方留言联系。笔者在看到这些消息之后将免费提供相关资源,希望各位了解后不要自由传播。)

    • Eclipse:

      一款多年来一直流行的官方 Java IDE,支持官方汉化,完全免费。笔者在学生时代使用的第一款 Java IDE 就是它。

      关于 Eclipse 的中文简体版下载安装教程,可见笔者的另一篇博客:

      Eclipse 的中文简体版安装教程:
      https://blog.csdn.net/wangpaiblog/article/details/111502047

    • 其它:

      如果你在使用其它 Java IDE,或者打算使用手机、 CMD 进行编程,请尽快改掉这个坏习惯。因为就算笔者不此提醒,你也迟早会被迫使用 IDE 进行开发。而以软件工程的角度来说,任何漏洞越晚被发现,所带来的损失越大。研究底层不要以这种方法。这种方法就像是钻木取火、骑马登山。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangpaiblog/article/details/111466827

智能推荐

angular js_qq_25952241的博客-程序员宅基地

Angular基础 Angular表达式:{{}},如果要输出字符串{{“name”}} 数据双向绑定:改变了view的值,影响了model,model的改变又影响了view。Ng-model=”name”  value=””      {{name}}  :first 是个表达式它会找一个first变量。     替换我们的{{}}的表达

python网格搜索优化参数_python - 用于管道的网格搜索参数网格的说明 - SO中文参考 - www.soinside.com..._weixin_39672160的博客-程序员宅基地

此'feature_selection__k': list(range(1, len(feature_importances) + 1))代码在什么意思:param_grid = [{'preparation__num__imputer__strategy': ['mean', 'median', 'most_frequent'],'feature_selection__k': list(rang...

测试概念_pxin-小新新的博客-程序员宅基地_回归测试工具

测试理论测试,是一切编程人员的必备技能。 ※测试开发认识软件测试在 规定条件 下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程。在规定条件找bug质量评估:预期结果和实际结果的比较方式:手工或自动(写代码替换手工,通过软件替换手工)软件测试分类按照阶段进行划分单元测试(Unit Testing)单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。测试阶段:编码后测试对象:最小模块测试人员:白盒

python-内存泄露分析优化_程序猿-小菜的博客-程序员宅基地_python 内存泄漏分析工具

发现应用程序正在耗尽内存是开发人员需要面对的棘手问题之一。内存问题通常很难诊断和修复,并且在Python中更难。Python的自动垃圾收集使它很容易上手并易学,但是它很善于避开障碍,以至于当它不能如预期的那样工作时,开发人员可能会对如何识别和修复问题感到困惑。

C++标准库 之 iostream库的学习笔记(一)iostream库的介绍和istream,ostream类以及cin,cout对象..._weixin_30538029的博客-程序员宅基地

c语言的标准输入输出库是stdio.h 是一个函数库而不是类库。其中包括了我们最常使用的scanf printf 都是一些独立的全局函数,因为C语言是不支持类的。c++的标准输入输出库iostream 是一个类库,以类的形式组织,使用该库中的类要先引用命名空间:using namespace std;最常使用的是cin和cout,这两个都是对象,cin是istream类的对象...

Shiro中Realm_weixin_30565327的博客-程序员宅基地

6.1 Realm【2.5 Realm】及【3.5 Authorizer】部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现。1、定义实体及关系即用户-角色之间是多对多关系,角色-权限之间是多对多关系;且用户和权限之间通过角色建立关系;在系统中验证时通过权限验证,角色只是权限集合,即所谓的显示角色;其实权限应该对应到资源(如菜单、URL、...

随便推点

胡子决定编程语言运势(<程序员2005年第一期文章)_iteye_11848的博客-程序员宅基地

2005年第一期《程序员》上,由我策划组织,当时在我社工作的方茜小姐执笔,发表了一篇很有意思的文章《胡子决定编程语言运势》。事后很长时间,我的不少朋友都还对这篇文章记忆犹新,左轻侯老弟甚至评价说这篇八卦是《程序员》 5年来最精彩的一篇文章。虽说有些言过其实,不过我也觉得这是我们程序员文化中难得的一篇精彩八卦,可以为我们的聚会提供很好的谈资,甚至应该成为我们这个群体的集体记忆。因此,在这篇文章发表将...

使用ProxyFactoryBean创建AOP代理 - Spring Framework reference 2.0.5 参考手册中文版_caolaosanahnu的博客-程序员宅基地

http://doc.javanb.com/spring-framework-reference-zh-2-0-5/ch07s05.html7.5. 使用ProxyFactoryBean创建AOP代理如果你正在使用Spring IoC容器(即ApplicationContext或BeanFactory)来管理你的业务对象--这正是你应该做的--你也许会想要使用S

Oracle ADG 同城异地容灾,专线传输速度可以达到 100MB/s_crhwkrhpunow61910的博客-程序员宅基地

Oracle ADG 同城异地容灾,专线传输速度可以达到 100MB/sRMAN duplicate ,2 个通道时的情况。(考虑对业务的影响,只起 2 个通道。)irora01:[/root]#date...

实现一个图片懒加载插件有多难? – 前端有多难? – SegmentFault_fengjianzhao的博客-程序员宅基地

Web 图片的懒加载就是通过读取img元素,然后获得img元素的data-src(也可以约定为其他属性名)属性的值,并赋予img的src,从而实现动态加载图片的机制。这里需要注意的是: img在初始化的时候不要设置src属性,因为即使设置 src='' 浏览器也会尝试加载图片。一个简单的图片懒加载共涉及两个方面,1. HTML 约定我们首先需要给准备实施懒加载的im

https_post php,https_post()_friendcallmetwodog的博客-程序员宅基地

### https_post($url, $timeout=30, $post = '', $cookie = '')~~~通过 HTTPS 方式请求 URL(默认 443 端口),成功返回页面内容,失败返回 FALSE。~~~**【定义】** 文件:xiunophp/xiunophp.php 大约 1307 行:~~~function https_post($url, $timeout=30, ...

原生滚屏_静心物语的博客-程序员宅基地

demo1*{margin: 0;padding: 0;}html,body{width: 100%;height: 100%;/*overflow: hidden;*/}.menu{z-index: 10;position: fixed;top: 10px;left: 50%;transform: translate(-50%);

推荐文章

热门文章

相关标签