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的设计, ...
随机推荐
- 数据可视化之DAX篇(二)Power BI中的度量值和计算列,你搞清楚了吗?
https://zhuanlan.zhihu.com/p/75462046 对于初学者,总是会把度量值和计算列搞混,我也经常碰到这样的问题,有些星友用文章中的代码总是报错,发给我一看,才知道TA把本来 ...
- Python面向对象01 /面向对象初识、面向对象结构、类、self、实例化对象
Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象初识 2. 面向 ...
- Configurate vim tool
vim tool is a commom editor, for the sake of improving effeicient, it is necessary to configurate vi ...
- web CSS3 实现3D旋转木马
3D 旋转木马是CSS中常见的特效之一,旋转木马可以有多种方法实现,这里我使用纯CSS实现这种动画的效果. 简要介绍一下重点 transform: rotateY(60deg) translateZ( ...
- JavaScript 基础 学习 (二)
JavaScript 基础 学习 节点属性 每一个节点都有自己的特点 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) 语法:节点.nodeT ...
- 证明:ThreadLocal的get,set方法无法防止内存泄漏
先给出结论:get,set两个方法都不能完全防止内存泄漏,还是每次用完ThreadLocal都勤奋的remove一下靠谱. 前言: 看到有的博客说在把ThreadLocal的所有强引用置空前,调用 ...
- Go Pentester - HTTP CLIENTS(3)
Interacting with Metasploit Early-stage Preparation: Setting up your environment - start the Metaspl ...
- oracle 启动报ORA-01105 ORA-19808
bash-4.4$ srvctl start instance -i jfcddb2 -d jfcddb PRCR-1013 : Failed to start resource ora.jfcddb ...
- MySQL数据库---前言
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS ...
- 01 shell编程之变量定义
一.SHELL介绍 ㈠ 什么是shell脚本? 简单来说就是将需要执行的命令保存到文本中,按照顺序执行.它是解释型的,意味着不需要编译. 若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= s ...