1、为什么要设置classPath?
  用于通知JVM Java基础类库的位置。classPath告诉类装载器去哪里寻找第三方类库
  自JDK1.5之后便不需要再配置这个变量了

2、为什么安装两个JRE(JDK里带一个、和JDK同级目录下还有一个JRE)
  JDK下的JRE主要是用来开发的,单的的JRE是在程序运行时使用的
  JDK包含了所有用于开发的组件,自然需要JRE辅助开发,
  而JRE着仅仅是Java的运行环境,用于执行.class文件

  单独的JRE少了Server端的Java虚拟机

  JDK是面向开发者,JRE是面向使用者
  开发者工具包里包含运行环境是必须的,
  而开发者作为程序的第一个使用者,安装一套完整独立的运行环境好像也没有什么疑问!!!

注:一下为猜测,截止文章编写时未做验证,正确与否待验证

  如果需要引用别人开发好的类库而拿到的是编译过的.class文件(非.java源文件),则在编译时就要用到JDK文件夹里的那套JRE了

  在控制台执行 javac 命令编译源文件时是在JDK里面执行的,与外部JER无关

  在控制台执行 java 命令执行程序时使用的是单独的JRE(非JDK文件夹里的JRE)

若有不同的理解欢迎留言!!谢谢

当日补充

(关于JAVA_HOME和Path环境变量的解释)

Path环境变量是一个Windows系统下的路径引用变量(这么说可能不太容易理解,往下看)

其实说的简单点,就是当你在命令行和 电脑的运行界面(:)输入各种命令时,Windows系统都会去当前目录和Path变量下的路径中寻找对应的命令。

比如在运行窗口输入notepad打开电脑的记事本,系统就会在上诉两个路径下寻找notepad.exe程序去执行,所以可以打开记事本。

  我们做个实验:我把桌面的路径添加到Path环境变量里(最后一行变量),然后在运行界面输入“腾讯QQ”执行就可以打开QQ(桌面有QQ的启动快捷方式)。

为JDK配置环境变量就是这个原理。

所以我们才可以在任何路径下执行JAVA命令(如果没有配置JDK的环境变量,也是可以用的,因为系统也会在命令行当前所在目录下寻找匹配的命令,如果你不嫌这样繁琐的话,你就这么干吧!!!)

至于JAVA_HOME变量,仅仅是相当于一个宏替换,和直接在Path里这样写:是一样的。。。

禁止转载-----必究

张岩

2017-07-27

JAVA环境变量关于的更多相关文章

  1. java环境变量配置

    1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 ...

  2. Ubuntu中配置Java环境变量时,出现command not found问题解决记录

    百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...

  3. JAVA基础学习——1.3 关于JAVA环境变量设定 Path,Java_Home,ClassPath

    在安装完JDK以后,要设定JAVA环境变量. 刚接触的时候,我很困惑,这特么什么玩意啊,然后知其然不知其所以然的 按照说明做完了却不知道为什么这么做,这里简单做一些总结说明. 首先,什么是环境变量 环 ...

  4. Java环境变量的简记

    1,安装版的jre或jdk.安装后如果不做开发用,则只是做Java运行时环境,则不需要手动配置任何Java环境变量. 2,绿色解压版(拷贝版)jdk或jre.运行和开发都需要配置环境变量. 运行Jav ...

  5. Java环境变量

    很简单的问题!配置Java环境变量 准备 下载安装Java,官方地址 打开系统环境变量,我的电脑右键 JAVA_HOME 添加JAVA_HOME,设置jdk安装目录,比如"C:\Progra ...

  6. mac java环境变量设置

    Mac下添加java环境变量 方法一:全局配置   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #临时提权   sudo su   #输入密码   vi /et ...

  7. java环境变量的设置

    java安装好后需要配置一下环境变量,配置方法如下: 1.在系统变量里添加两条记录: 1)变量名:JAVA_HOME,变量值为java安装路径,如:C:\Program Files\Java\jdk1 ...

  8. [原创]多版本Java环境变量的配置

    起因:   偶然突发兴致, 收拾下自己的老T500电脑, 用来做个家庭开发用机. 应为每次装系统都有GHOST备份的习惯, 所以需要提前搭建好开发环境. 而且新装系统的目的之一, 也是想研究下Andr ...

  9. linux配置java环境变量(详细)

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  10. Ubuntu16.04下面配置java环境变量

    我在ubuntu 16.04下面配置java环境变量的时候,开始在网上查信息的时候,没太注意ubuntu的版本,结果在.bashrc下面设置,在.profile下面设置,都不成功, 后面才想起来搜索u ...

随机推荐

  1. 如何运行jar文件

    比如我要执行G:/weblogic文件夹下面的wls1036_generic.jar 文件. 1.cmd 2.跳转到G盘(G:回车),如果jar文件在桌面上,运行cd desktop进入桌面再定位到文 ...

  2. Python----Windows环境下安装Flask

    Flask是Python中web开发的一个轻框架,掌握起来比较简单,想体验一下,先从安装Flask开始. 我是在Widows环境下安装的Flask,在Linux环境下也一样,无非就是安装几个依赖和开发 ...

  3. 修改linux的系统时间

    可以使用date命令.date用于打印或设置系统日期和时间.设置系统时间需要root权限.用法示例:设置系统日期成2015年08月13日,这样会把具体时间设置清空成00:00:00$ sudo dat ...

  4. js中的数字格式变成货币类型的格式

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  5. js判断一个数组是否为空

    var s = []; if(s.length == 0){ alert('空数组'); }

  6. Redis 基础数据结构与对象

    Redis用到的底层数据结构有:简单动态字符串.双端链表.字典.压缩列表.整数集合.跳跃表等,Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包 ...

  7. react系列从零开始-react介绍

    react算是目前最火的js MVC框架了,写一个react系列的博客,顺便回忆一下react的基础知识,新入门前端的小白,可以持续关注,我会从零开始教大家用react开发一个完整的项目,也会涉及到w ...

  8. pyparsing:定制自己的解析器

    在工作中,经常需要解析不同类型的文件,常用的可能就是正则表达式了,简单点的,可能会使用awk.这里要推荐一种比较小众的方式,使用pyparsing来解析文件. pyparsing可以做些什么呢?主要可 ...

  9. 基于angular4.0分页组件

    分页组件一般只某个页面的一小部分,所以我们它是子组件 当然如果你承认这话的,可以往下看,因为我把他当作子组建来写了 分页组件的模版 import { Component } from '@angula ...

  10. 【Stack Overflow -- 原创加工、原创整理、生产实战】-- 深度复制

    一.说明 1.本程序的核心代码不是我原创的,是我在Stack Overflow上搜集后加工出来的,原作者已忘记了~ 2.这段程序是我在上海携程(2014年左右)上班时整理并在生产环境应用的,先后经历了 ...