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. 数据可视化之powerBI入门(十二)PowerBI中最重要的函数:CALCULATE

    https://zhuanlan.zhihu.com/p/64382849 介绍DAX的时候,特别强调过一个重要的函数:CALCULATE,本文就来揭秘这个函数的计算原理以及它是如何影响上下文的. C ...

  2. softmax、cross entropy和softmax loss学习笔记

    之前做手写数字识别时,接触到softmax网络,知道其是全连接层,但没有搞清楚它的实现方式,今天学习Alexnet网络,又接触到了softmax,果断仔细研究研究,有了softmax,损失函数自然不可 ...

  3. hihoCoder 1041 国庆出游 最详细的解题报告

    题目来源:国庆出游 解题思路(下面是大神的写的): 把题目中的序列称作S,树称作T.那么对于S中的任意节点x,x的子孙节点如果在S出现的话,那么这个子孙节点的位置是有一定要求的:x的所有子孙节点在S中 ...

  4. antd踩坑:日期选择器的可选日期控制的问题

    有一个需求是日期选择需要加一个日期限制. 于是我兴高采烈的加上去了. // 日期可选判断方法 disabledDateFunc = current => { const { disabledDa ...

  5. Linux下Storm2.1.0的伪分布式安装

    官方下载网址:http://storm.apache.org/downloads.html 1.第一步我们先从官网下载解压包  2.然后进行解压 3.配置环境变量 在profile里面插入如下格式语句 ...

  6. postman之测试集

    简单点,说话的方式简单点 步骤1:测试全部通过,哈哈~ 开玩笑! 适用场景:多组数据测试,像排比句那样,有规律,比如姓名,性别,年龄.这时候的测试要求就是这些信息与返回体的结果做比较!! 步骤1:创建 ...

  7. 服务端socket重用属性设置

    初始化socket socket是一种系统资源,并不是每次初始化都一定成功,因此为了避免初始化失败,一般使用多次初始化的方式,如下所示: unsigned int times = 0x0; while ...

  8. grpc 之 word2pdf使用

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

  9. C# POST请求中raw 参数的传递

    public static string PostmanPost() { var client = new RestClient("http://119.3.248.64:3000" ...

  10. spring学习(八)事务操作

    一.事务的概念: 事务是并发控制的单位,一系列操作组成的工作单元,该工作单元内的操作是不可分割的,也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做,所有操作必须成功完成,否则 ...