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,解压之后可以看到所有内容:

因此不用执行安装程序,我们自己手动配置环境变量就可以。

二、环境变量配置

为什么要配置环境变量?简单来说,就是给程序执行一个指路方向。

可以看一看这篇博客的生动讲解:

https://blog.csdn.net/qq_36582604/article/details/88120308

因为主要记录步骤,我就直接来写过程了:


这是我的jdk的目录以及对应下面bin文件夹的目录,下面去配置。

此电脑 -> 属性 -> 高级系统设置 -> 环境变量

可以看到环境变量分了两类:

一个是给操作系统用的;一个是给本机用户用的。。

系统环境变量的意思是无论你是用那个用户帐号登陆后都能够共享的环境变量,就是有点公用的意味。

而用户环境变量顾名思义就是只有这个用户登陆后才能被这个用户使用的环境变量,就是有点私有的意味。

用户变量只对当前用户有效;系统变量对本机所有用户有效。

这里肯定希望改变的是系统变量,毕竟登windows的别的账户也希望有这些设置。

  1. 新建 JAVA_HOME 变量。
  2. 增加Path变量
  3. classpath变量不用配置。(以前需要)

这三个变量各有自己的作用:

  1. 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做些改动。
  2. 因为电脑系统将根据该变量的值找到java编程中需要的一些程序,比如javac.exe、java.exe、javah.exe等等,其中javac.exe程序是用于编译java源代码,java.exe程序是用于执行后缀为class的代码。所以Path的作用其实就是方便我们使用一些命令程序。
  3. 配置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)的更多相关文章

  1. MySQL8.0.20下载与安装详细图文教程,mysql安装教程

    MySQL下载与安装(8.0.20版)教程 mysql安装包+mysql学习视频+mysql面试指南视频教程 下载地址: 链接:https://pan.baidu.com/s/1FmLFhGlajBQ ...

  2. mysql的下载和安装详细教程(windows)

    Windows下安装MySQL详细教程 1.安装包下载    2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 ...

  3. Qt Creator下载和安装(详细教程)

    简介 Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project. ...

  4. SQL Server 2017 下载及安装详细教程

    SQL Servicer 2017 下载及安装 1)下载安装SQLServer 2)安装SQLServer management Studio. 一.     下载及安装SQLServer 下载链接( ...

  5. mysql8.0.13下载与安装图文教程

    一.进入mysql网站:https://dev.mysql.com/downloads/mysql/ 二.进入Community选择MySQL Communtiy Server 三.将页面拉到最下面选 ...

  6. SQL Server 2012 下载和安装详细教程

    https://blog.csdn.net/qq_37591637/article/details/93102794 选择图片中的三个,然后点击下载 ,文件内存很大 下载以后,如图所示,双击.exe程 ...

  7. (转载)Centos下Elasticsearch安装详细教程

    原文地址:http://www.cnblogs.com/sunny1009/articles/7874251.html Centos下Elasticsearch安装详细教程 1.Elasticsear ...

  8. Centos下Elasticsearch安装详细教程

    Centos下Elasticsearch安装详细教程 1.Elasticsearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 ...

  9. 面系那个对象开发原则.高内聚.低耦合+Python安装详细教程+print输出带颜色的方法

    面系那个对象开发原则.高内聚.低耦合 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计, ...

随机推荐

  1. 题解:2018级算法第五次上机 C5-图2

    题目描述: 样例: 实现解释: 所有结点对最短路径的板子题 知识点: 寻找所有结点对最短路径,动态规划 坑点: 无坑,注意建边即可 使用的算法为floyd算法 按照程序顺序解释如下: 首先建图,以邻接 ...

  2. 前端01 /HTML简单简绍

    前端01 /HTML简单简绍 目录 前端01 /HTML简单简绍 1.web服务本质 2.浏览器的工作流程 3.HTML是什么 4.web服务本质 5.HTML文档结构 6.HTML注释 6.标签语法 ...

  3. day4:运算符

    1.算术运算符:+ - * / // % ** 注意点:1./ 除法,结果为小数  2.// 地板除,返回整数  3.如果被除数或者除数是一个小数,结果加上.0 2.比较运算符:< > & ...

  4. 媳妇儿喜欢玩某音中的动漫特效,那我就用python做一个图片转化软件。

    ​    最近某音上的动漫特效特别火,很多人都玩着动漫肖像,我媳妇儿也不例外.看着她这么喜欢这个特效,我决定做一个图片处理工具,这样媳妇儿的动漫头像就有着落了.编码    为了快速实现我们的目标,我们 ...

  5. ES6语法——Promise对象

    一.概念 Promise是异步编程的一种解决方案(解决回调地狱的问题),是一个能够获取异步操作信息的对象.Promise的内部保存着某个未来才会结束的事件(通常是一个异步操作) 二.特点 1.Prom ...

  6. C++语法小记---面向对象模型(实例的内存分布)

    面向对象的模型(内存分布) 对于一个对象而言,成员变量和成员函数是分开存放的 成员函数位于代码段,所有的类对象共有 成员变量为每一个对象独有,位于内存中 类对象在内存中的分布和struct完全相同 对 ...

  7. 程序员肺被切掉一块还得去加班... 再谈“工作996,生病ICU”

    如题,为什么要说再谈“工作996,生病ICU”,因为996问题早已不是一个新问题,在我最近刚出版的新书<SOD框架“企业级”应用数据架构实战>写作期间,爆发了一次程序员“起义”,出现了一个 ...

  8. 大型Java进阶专题(九) 设计模式之总结

    前言 ​ 关于设计模式的文章就到这里了,学习这门多设计模式,你是不是有这样的疑惑,发现很多设计模式很类似,经常会混淆某些设计模式.这章节我们将对设计模式做一个总结,看看各类设计模式有什么区别.需要注意 ...

  9. grpc 之 word2pdf使用

    ​ 做一个word转pdf的服务,采用grpc,使用libreoffice命令. 1.构建libreoffice镜像 FROM python:3.6 ENV TZ=Asia/Shanghai RUN ...

  10. Redis(一)简介及安装、测试

    一.Redis简介: 关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 库是基于特殊的结构,并将数据存储到内存的数据库.从性能上而言, ...