JDK11.0.7下载及安装详细教程(win10)
0.背景知识
JRE: Java Runtime Environment
JDK:Java Development Kit
JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。
JRE根据不同操作系统(如:windows,linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常用的是Oracle公司收购SUN公司的JRE版本。
可以参考百度百科。

比较重要的一点是,上图这个过程,程序编译到运行。
因此java的一处编译、到处运行核心就是java的虚拟机,也就是JVM。
可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境。
JDK已经包含了JRE,所以我们直接下载他就可以。
一、下载
官网 https://www.oracle.com/java/technologies/javase-downloads.html
我直接选择了比较新的11
https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

但是因为官网访问有些慢,我直接去清华镜像下载了。

电脑是 64 位的windows,于是下载了一样的11.0.7版本,虚拟机是sun公司的hotspot,下面的openj9的应该是ibm公司的。
这个版本是zip版本,不同于exe,解压之后可以看到所有内容:

因此不用执行安装程序,我们自己手动配置环境变量就可以。
二、环境变量配置
为什么要配置环境变量?简单来说,就是给程序执行一个指路方向。
可以看一看这篇博客的生动讲解:
因为主要记录步骤,我就直接来写过程了:


这是我的jdk的目录以及对应下面bin文件夹的目录,下面去配置。
此电脑 -> 属性 -> 高级系统设置 -> 环境变量

可以看到环境变量分了两类:
一个是给操作系统用的;一个是给本机用户用的。。
系统环境变量的意思是无论你是用那个用户帐号登陆后都能够共享的环境变量,就是有点公用的意味。
而用户环境变量顾名思义就是只有这个用户登陆后才能被这个用户使用的环境变量,就是有点私有的意味。
用户变量只对当前用户有效;系统变量对本机所有用户有效。
这里肯定希望改变的是系统变量,毕竟登windows的别的账户也希望有这些设置。
- 新建 JAVA_HOME 变量。
- 增加Path变量
- classpath变量不用配置。(以前需要)
这三个变量各有自己的作用:
- JAVA_HOME里面的内容是JDK安装目录。其实不设置JAVA_HOME也是可以的,只要有Path就行了。但是设置JAVA_HOME可以方便在Path中使用、更新JDK目录。比如,jdk的安装路径是C:\jdk1.5.0_22,Path设置为C:\jdk1.5.0_22\bin,而当我们把JAVA_HOME设为C:\jdk1.5.0_22时,设置Path就可以写成%JAVA_HOME%\bin,以后当我们使用其他版本的jdk,就可以只修改JAVA_HOME的值,此外,当我们要使用Redis等组件时,也可以灵活使用JAVA_HOME做些改动。
- 因为电脑系统将根据该变量的值找到java编程中需要的一些程序,比如javac.exe、java.exe、javah.exe等等,其中javac.exe程序是用于编译java源代码,java.exe程序是用于执行后缀为class的代码。所以Path的作用其实就是方便我们使用一些命令程序。
- 配置classpath变量,才能使得java解释器知道到哪里去找标准类库,这些标准类库是别人已经写好了的,我们只管使用。比如我们常用到java.lang包中的类,在配置classpath变量后被设为默认导入,所以在写程序时就不用import这个包了。那么这些标准类库在哪呢?在以JDK的lib目录下以jar为后缀的文件中:一个是dt.jar,一个是tools.jar。但是已经说了现在最新的逻辑是,如果不配置,可以到默认的地方找到所需的文件;如果配置错误,那么运行错误;如果配置正确,那么运行正确。因此还不如不配。
那我们先配置 JAVA_HOME

- 新建
- 然后输入变量名为 JAVA_HOME
- 然后输入变量值为jdk所在的目录,保证这个目录的下一层就是bin文件所在目录。
- 确定。
再来配置Path


- 点击Path,点击编辑
- 然后点击新建
- 输入%JAVA_HOME%\bin
- 确定
在Path变量里面加了一条,也就是把把JAVA_HOME的bin目录附加到了系统环境变量Path上。前面的JAVA_HOME变量对应的值显然我们配置过了,那么用这个变量名代替,后面再往下一层,系统就能找到bin目录。
三、测试
上一步已经结束了,其实简单几个步骤而已,我们来看看java是不是已经安装配置完成。
打开命令行,键入 java

已经显示了一堆命令,说明配置没问题。
再键入 javac

再键入 java -version 查看安装的版本:

至此,已经完成了java的安装和配置,用记事本,或者别的简单编辑器,编辑代码之后就可以在命令行里编译,然后运行了。
但这肯定不是我们的一般做法,我们希望更高效的工具辅助我们写代码,接着安装IDEA。
JDK11.0.7下载及安装详细教程(win10)的更多相关文章
- MySQL8.0.20下载与安装详细图文教程,mysql安装教程
MySQL下载与安装(8.0.20版)教程 mysql安装包+mysql学习视频+mysql面试指南视频教程 下载地址: 链接:https://pan.baidu.com/s/1FmLFhGlajBQ ...
- mysql的下载和安装详细教程(windows)
Windows下安装MySQL详细教程 1.安装包下载 2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 ...
- Qt Creator下载和安装(详细教程)
简介 Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project. ...
- SQL Server 2017 下载及安装详细教程
SQL Servicer 2017 下载及安装 1)下载安装SQLServer 2)安装SQLServer management Studio. 一. 下载及安装SQLServer 下载链接( ...
- mysql8.0.13下载与安装图文教程
一.进入mysql网站:https://dev.mysql.com/downloads/mysql/ 二.进入Community选择MySQL Communtiy Server 三.将页面拉到最下面选 ...
- SQL Server 2012 下载和安装详细教程
https://blog.csdn.net/qq_37591637/article/details/93102794 选择图片中的三个,然后点击下载 ,文件内存很大 下载以后,如图所示,双击.exe程 ...
- (转载)Centos下Elasticsearch安装详细教程
原文地址:http://www.cnblogs.com/sunny1009/articles/7874251.html Centos下Elasticsearch安装详细教程 1.Elasticsear ...
- Centos下Elasticsearch安装详细教程
Centos下Elasticsearch安装详细教程 1.Elasticsearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 ...
- 面系那个对象开发原则.高内聚.低耦合+Python安装详细教程+print输出带颜色的方法
面系那个对象开发原则.高内聚.低耦合 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计, ...
随机推荐
- (三)学习了解OrchardCore笔记——灵魂中间件ModularTenantContainerMiddleware的第一行①的模块部分
了解到了OrchardCore主要由两个中间件(ModularTenantContainerMiddleware和ModularTenantRouterMiddleware)构成,下面开始了解Modu ...
- mysql练习题99
一.查询每个专业的学生人数 SELECT COUNT(*) FROM student GROUP BY majorid; 二.查询参加考试的学生中,每个学生的平均分.最高分 SELECT avg(sc ...
- html2canvas 实现页面转图片并下载
一 前言 最近做了一个周报,从不同的数据表抓取数据,然后展示到前端页面显示.这个过程不难,让我烦恼的是:要把周报的数据导出来,然后打印,打印也必须在一张纸上.想到这里,我整理了一下思绪,我要写几个存储 ...
- 用Eclipse进行单元测试JUnit4
(1)在项目中引入Jar包 (2)编写需要测试的类 public class Calculator { private static int result=0; // 静态变量,用于存储运行结 ...
- Go Pentester - HTTP CLIENTS(2)
Building an HTTP Client That Interacts with Shodan Shadon(URL:https://www.shodan.io/) is the world' ...
- 集训作业 洛谷P1433 吃奶酪
嗯?这题竟然是个绿题. 这个题真的不难,不要被他的难度吓到,我们只是不会计算2点之间的距离,他还给出了公式,这个就有点…… 我们直接套公式去求出需要的值,然后普通的搜索就可以了. 这个题我用的深搜,因 ...
- P.SDA1.DEV - 一个没有服务器的图床
图床特色 P.SDA1.DEV的愿景是为大家提供一个免费.长期稳定外链分享图片的选择. P.SDA1.DEV的主要特点有: 完全建构在Serverless云服务上,致力于提供(墙外)可用性99.9%的 ...
- [翻译]ASP.NET Core在 .NET 5 Preview 7的更新
.NET 5 Preview 7现在可以用了,可以进行评估了.这是此版本中的新增功能: Blazor WebAssembly应用程序现在针对.NET 5 更新了Blazor WebAssembly的调 ...
- 死磕Spring源码之AliasRegistry
死磕Spring源码之AliasRegistry 父子关系 graph TD; AliasRegistry-->BeanDefinitionRegistry; 代码实现 作为bean定义的最顶层 ...
- .Net Core 常见错误解决记录
Error: String or binary data would be truncated. The statement has been terminated 数据库出错原因: 表字段创建的太短 ...