网站首页 > 精选教程 正文
安装包:
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文件。
猜你喜欢
- 2024-10-31 window配置JAVA开发环境(一) windows 配置java运行环境
- 2024-10-31 Java语言学习第一步:JDK下载与安装教程(超详细)
- 2024-10-31 Java开发必备,超详细的JDK安装教程(图文详解)
- 2024-10-31 Microsoft SQL Server Enterprise 2019 完整安装详细教程
- 2024-10-31 2024 手把手教你安装Java!从入门到精通!
- 2024-10-31 Windows10环境下安装Hbase单机版 hbase单机模式安装
- 2024-10-31 Ubuntu16.04.1安装Java8 java安装后在哪里打开
- 2024-10-31 JAVA安装教程——JDK安装 jdk安装教程2021
- 2024-10-31 【基础】JAVA的JDK安装使用(收藏)
- 2024-10-31 开发工具Java JDK的安装与配置 java开发工具安装教程
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)