原文链接:

https://www.toutiao.com/i6487838676326810125/

安装包:

jdk-7u79-windows-x64-20151024

打开安装目录

双击运行程序,出现安装程序

点击下一步,更改安装路径(目的是为了保证安装目录的规范,尽量不要出现汉字和空格)

更改为E盘(安装程序尽量不要安装在C盘,因为D盘不能使用,所以安装在E盘,但习惯将程序安装在D盘比较好管理)

其中jdk1.7.0_79不要改动,因为之后可能会用到其它java版本,这样方便记录。

点击下一步

出现如下提示:

参考上一步,安装到相同目录下

安装成功

安装完成后,Java还不能使用,需要配置环境变量。

变量名:JAVA_HOME

变量值:E:\Java\jdk1.7.0_79

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

变量名:Path

变量值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

点击"此电脑"图标,鼠标右键,弹出快捷菜单,选择"属性"菜单项,弹出"系统"管理器界面。

点击"高级属性",选择"环境变量"按钮。

出现"环境变量"对话框

点击下面"系统变量"的新建,弹出"新建环境变量"对话框

分别将之前环境变量的内容添加如下:

其中Path环境变量已经存在,不需要新建,双击编辑

在"编辑环境变量"中点击新建,加入PATH值。

完成配置。

检验配置:

执行快捷键:Win+R,弹出DOS命令窗口,输入cmd,点击确认。

进入DOS界面。

执行语句,出现如下效果即可:

1、安装过程中为什么有两个安装,一个是jdk,一个是jre?

jdk是开发环境(Java Development Kit),jre是运行环境(Java Runtime Environment),如果我们只写java程序就可以只安装jdk,但是我不运行就不知道自己写的程序是否正确,所以需要jre运行环境。我们开发人员要同时安装jdk和jre,程序的使用者也就是客户可以只安装jre。

2、安装完成后,为什么会有两个jre?

Jre既然是运行环境,就一定有jvm,也就是虚拟机,在windows上的虚拟机是哪个文件呢?可以查看目录jre/bin/server里面是不是有一个jvm.dll,那就是虚拟机。

Jdk是java的开发工具包,里面包含了各种类库和工具。也包括了另外一个Jre.那么为什么要包括另外一个Jre呢?

因为两个JRE负责的范围不同。

当用户只需要执行java 的程序时,那么E:\Java\jdk1.7.079\jre下的jre就满足。当用户是java开发人员时,需要java开发环境,那么在开发时,系统就会优先去找" java 、javac "这些命令本身的目录或者他们的父目录的 jre; 这样开发时一般运行的是 jdk 下的 jre;

运行外部程序时,一般运行的是E:\Java\jre ,实现了分工,不同的 jre 负责各自范围的内容;

jdk下的lib包括java开发使用的jar包,jre下的lib是运行java程序的jar包;

3、为什么JRE不需要配置环境变量?

jdk的bin下有各种java程序需要用到的命令,与jre的bin目录最明显的区别就是jdk下才有javac,这一点很好理解,因为 jre只是一个运行环境,与开发无关。

那么有人会问了?我明明没有设置jre/bin目录到环境变量中啊?

试想一下如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,验证的方法很简单,大家看到了系统环境变量的PATH中包括"%SystemRoot%\system32;%SystemRoot%;"这样的配置,那么再去Windows/system32下面去看看,发现了什么?有一个java.exe。

4、为什么要设置三个环境变量JAVA_HOME、PATH、CLASSPATH?。

环境变量的值,是一系列的目录,目录和目录之间使用";"分割开。当你在命令行当中执行javac 这个命令的时候,首先操作系统会从path变量所制定的第一个目录寻找javac.exe,如果没有找到就会到第二个目录当中寻找。以此类推,直到找到为止。如果在Path所指定的所有目录当中都没有找到,就会报出一个错误。

想在命令行当中编译或者运行Java程序,就必须使用到JDK所提供的java和javac这两个命令,所以我们要把java.exe和javac.exe所在的目录加入到path这个环境变量当中,这样操作系统就可以顺利的执行这两个命令了.

只配置JAVA_HOME环境变量,不配置PATH和CLASSPATH,直接执行Javac,系统找不到。

执行"java Test"这样的命令时,java虚拟机会寻找一个名为Test.class的文件,然后由类装载器装载这个类,那么问题就是类装载器究竟要到哪个目录里去寻找Test.class这个文件呢?这个时候classpath就起作用了,classpath值的设置方式和path类似,都是一系列的目录, java虚拟机就是到这些目录当中去寻找所需要的class文件, 比如说在我的E:\src目录当中有一个Test.java文件,编译过后生成了Test.calss文件。这个时候我们想执行这个文件,就要执行"java Test"命令,类装载器会从classpath所指定的目录当中去寻找Test.class这个文件,如果在classpath所指定的第一个目录当中没有找到,就到第二个目录去找,直到找到为止,如果在所有的目录当中都没有找到,就会报出一个错误。在一般的教科书上,都会让学生把classpath的值设置为".",这是因为"."代表的是当前目录,什么叫当前目录呢?

当打开命令行时,在">"之前的目录就是当前目录,也就是说在这个目录下执行"java Test"命令,java虚拟机的类装载器就会在E:\src下寻找Test.class文件。

Win10+Java7环境配置的更多相关文章

  1. Win10 + YOLOv3 环境配置,编译,实现目标检测----How to compile YOLOv3 on Windows

    其他比较好的参考链接: 环境配置: 环境配置的最终图片列表:https://blog.csdn.net/shanglianlm/article/details/80322718 视频讲解YOLOv1: ...

  2. Win10开发环境配置

    基本环境变量配置:最近工作电脑固态硬盘损坏了,导致不得不重新装机,从前配置的环境需要重新配置,在此标记. Java环境配置: 添加变量 JAVA_HOME=D:\Program Files\Java\ ...

  3. WIN10下java8的开发环境配置与第一个java程序

    一.开发环境配置 1.在官网上下载jdk-8u111-windows-x64.exe 2.运行安装包,可以自定义安装路径 3.进入环境变量设置: 计算机右键-->属性-->高级系统设置-- ...

  4. java1.8环境配置+win10系统

    Java环境配置相关 Java jdk 1.8版本的环境配置和1.7版本 存在一些差异,当然不同的操作系统可能会对jdk配置有一定的变化.本文我主要说1.8版本的jdk在window10 系统上的配置 ...

  5. Blackey win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置(转载)

    win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置   写在前面的话: 再弄这个之前,我对python也好 ...

  6. Win10系统如何配置Tomcat环境变量

    我们知道win10用户在配置Tomcat环境变量的时候,首先需要配置JAVA,这样才能配置Tomcat环境.很多用户并不知道要如何进行配置,下面就给大家介绍win10系统怎样Tomcat环境变量的. ...

  7. Python - Win10系统下Python3.x环境配置

    Win10系统下Python3.x环境配置 https://blog.csdn.net/qq_41952474/article/details/82630551

  8. win10 +Kinect V1 1414环境配置

    win10 +Kinect V1 1414环境配置 想起老Lab的机器人头顶的Kinect 安装准备 demo展示 人脸识别 照片不能够检测到人脸 可以去除背景 检测骨架 想起老Lab的机器人头顶的K ...

  9. 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

随机推荐

  1. Python enumerate():使用计数器简化循环

    摘要:当您需要计数和迭代中的值时,Pythonenumerate()允许您编写 Pythonicfor循环.最大的优点enumerate()是它返回一个带有计数器和值的元组,因此您不必自己增加计数器. ...

  2. 【JAVA今法修真】 第三章 关系非关系 redis法器

    您好,我是南橘,万法仙门的掌门,刚刚从九州世界穿越到地球,因为时空乱流的影响导致我的法力全失,现在不得不通过这个平台向广大修真天才们借去力量.你们的每一个点赞,每一个关注都是让我回到九州世界的助力,兄 ...

  3. CPU中的上下文

    目录 一.简介 二.进程切换 三.线程切换 四.中断切换 五.中断检测和查看 六.模拟 一.简介 Linux是多任务操作系统,cpu划分固定时间片,分给每个进程,当前进程时间片执行完毕,将挂起,运行下 ...

  4. react功能实现-组件创建

    这里主要从两个角度来分析创建一个组件需要怎么做,一个是元素,一个是数据.整理向,大量借鉴,非原创. 1.渲染组件. 我们先明确一点,所有的元素都必须通过render方法来输出渲染.所有,每个组件类最终 ...

  5. mysql的事务详解

    事务及其ACID属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性. 原子性(Atomicity) :事务是一个原子操作单元,其对数据的修改,要么全都执 ...

  6. python3 迭代器&生成器

    前戏:列表生成式 等于 用列表生成式生成列表.需要将所有数据生成到内存中,占用空间,如果数据太多.生成数据就会耗时较久. 例如需要运行卡顿一下..... 定义一个生成器:定义时不生成任何数据,只有通过 ...

  7. Chrome的强大搜索功能

    前言 前几天一个好朋友求助我,大概问题是他的电脑QQ啥都能上网,就浏览器上不了网不是IE而是chrome,我第一反应可能是dns问题.后来发甩过来一张图,好家伙把我吓得,类似于下面这张图 这图是我自己 ...

  8. jquery gantt 的使用

    1.引入css与js文件 <link rel="stylesheet" href="css/style.css" /> <script src ...

  9. 网络编程之新函数inet_pton和inet_ntop

    1.头文件 1 #include <arpe/inet.h> 2.inet_pton 函数 A.原型 1 int inet_pton(int family, const char *str ...

  10. 【LeetCode】333. Largest BST Subtree 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS 日期 题目地址:https://leetcod ...