Win10+Java7环境配置

摘要:
点击下一步出现如下提示:参考上一步,安装到相同目录下安装成功安装完成后,Java还不能使用,需要配置环境变量。jdk的bin下有各种java程序需要用到的命令,与jre的bin目录最明显的区别就是jdk下才有javac,这一点很好理解,因为jre只是一个运行环境,与开发无关。

原文链接:

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

安装包:

jdk-7u79-windows-x64-20151024

打开安装目录

Win10+Java7环境配置第1张

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

Win10+Java7环境配置第2张

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

Win10+Java7环境配置第3张

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

Win10+Java7环境配置第4张

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

点击下一步

Win10+Java7环境配置第5张

出现如下提示:

Win10+Java7环境配置第6张

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

Win10+Java7环境配置第7张

安装成功

Win10+Java7环境配置第8张

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

变量名:JAVA_HOME

变量值:E:Javajdk1.7.0_79

变量名:CLASSPATH

变量值:.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar

变量名:Path

变量值:;%JAVA_HOME%in;%JAVA_HOME%jrein

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

Win10+Java7环境配置第9张

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

Win10+Java7环境配置第10张

出现"环境变量"对话框

Win10+Java7环境配置第11张

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

Win10+Java7环境配置第12张

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

Win10+Java7环境配置第13张

Win10+Java7环境配置第14张

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

Win10+Java7环境配置第15张

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

Win10+Java7环境配置第16张

完成配置。

Win10+Java7环境配置第17张

检验配置:

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

Win10+Java7环境配置第18张

进入DOS界面。

Win10+Java7环境配置第19张

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

Win10+Java7环境配置第20张

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,那就是虚拟机。

Win10+Java7环境配置第21张

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

Win10+Java7环境配置第22张

Win10+Java7环境配置第23张

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

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

运行外部程序时,一般运行的是E:Javajre ,实现了分工,不同的 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。

Win10+Java7环境配置第24张

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

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

Win10+Java7环境配置第25张

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

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

Win10+Java7环境配置第26张

执行"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环境配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Kotlin Eclipse 环境搭建[Android Pro] 完美Android Cursor使用例子(Android数据库操作)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python编程:从入门到实践(选记)

本文参考《Python 编程:从入门到实践》一书,作者:[ 美 ] Eric Matthes 第1章 起步 1.1 搭建python环境 在不同的操作系统中, Python 存在细微的差别。 1.1.1 Python 2和Python 3 在本书中,将指出 Python 2 和 Python 3 的重大差别。1.1.2 运行Python代码片段 1.1....

【C++/Qt】Qt中的parent形参

在 派生类的构造函数初始化列表中 调用 父类的带有参数的构造函数,是为了初始化从父类继承来的成员变量。因为这些变量无法直接初始化,只能采用这种方式初始化。 而在qt中,MainWindow中的某成员变量(指向父组件的指针,假定为p)无法直接初始化,只能在初始化列表中调用QMainWindow(parent),把形参parent的值间接的传给p,使p完成初始...

GrADS 读取NetCDF和HDF的ctl文件 SDF文件的描述文件

翻译自http://cola.gmu.edu/grads/gadoc/SDFdescriptorfile.html 使用GrADS阅读NetCDF和HDF文件 NetCDF和HDF格式的文件被称作自描述文件(self-describing file, SDF),因为数据和元数据一块保存在同一个文件中。GrADS可以读取NetCDF和HDF格式的文件,只要数...

jmeter 跨线程组调用变量

由于有些特殊需求需要在线程组之间调用变量,这里就总结一下几种常用方法(只是个人会的)。 在使用时要注意线程组的执行顺序,需要勾选测试计划里的独立运行每个线程组按钮。还需要注意设置全局变量的后置处理器应该是在第一个线程组(即提取局部变量的那个线程组)。 一、beanshell自带方法 props.put("变量名","值") 全局变量赋值 props.ge...

IL 汇编学习笔记(一)

今天我开始了 IL 汇编语言的学习,下面都是对一篇文章学习过程的翻译和摘要。原文:http://www.codeproject.com/dotnet/ilassembly.asp先从一个 HelloWorld 例子开始: //Test.IL//Asimpleprogrammewhichprintsastringontheconsole.assemblyex...

C#返回多个参数 ref及out

out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。例如: class OutExample { static void Method(out int i) { i = 44; } static void Main...