JAVA环境变量关于
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环境变量关于的更多相关文章
- java环境变量配置
1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 ...
- Ubuntu中配置Java环境变量时,出现command not found问题解决记录
百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...
- JAVA基础学习——1.3 关于JAVA环境变量设定 Path,Java_Home,ClassPath
在安装完JDK以后,要设定JAVA环境变量. 刚接触的时候,我很困惑,这特么什么玩意啊,然后知其然不知其所以然的 按照说明做完了却不知道为什么这么做,这里简单做一些总结说明. 首先,什么是环境变量 环 ...
- Java环境变量的简记
1,安装版的jre或jdk.安装后如果不做开发用,则只是做Java运行时环境,则不需要手动配置任何Java环境变量. 2,绿色解压版(拷贝版)jdk或jre.运行和开发都需要配置环境变量. 运行Jav ...
- Java环境变量
很简单的问题!配置Java环境变量 准备 下载安装Java,官方地址 打开系统环境变量,我的电脑右键 JAVA_HOME 添加JAVA_HOME,设置jdk安装目录,比如"C:\Progra ...
- 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 ...
- java环境变量的设置
java安装好后需要配置一下环境变量,配置方法如下: 1.在系统变量里添加两条记录: 1)变量名:JAVA_HOME,变量值为java安装路径,如:C:\Program Files\Java\jdk1 ...
- [原创]多版本Java环境变量的配置
起因: 偶然突发兴致, 收拾下自己的老T500电脑, 用来做个家庭开发用机. 应为每次装系统都有GHOST备份的习惯, 所以需要提前搭建好开发环境. 而且新装系统的目的之一, 也是想研究下Andr ...
- linux配置java环境变量(详细)
linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...
- Ubuntu16.04下面配置java环境变量
我在ubuntu 16.04下面配置java环境变量的时候,开始在网上查信息的时候,没太注意ubuntu的版本,结果在.bashrc下面设置,在.profile下面设置,都不成功, 后面才想起来搜索u ...
随机推荐
- Python原理 -- 深浅拷贝
python原理 -- 深浅拷贝 从数据类型说开去 str, num : 一次性创建, 不能被修改, 修改即是再创建. list,tuple,dict,set : 链表,当前元素记录, 下一个元素的位 ...
- mysql中group by和order by同时使用无效的替代方案
前言 最近一年由于工作需要大部分使用的都是NoSql数据库,对关系型数据库感觉越来越陌生,一个由group by和order by 引发的血案由此而生.在此做个记录,以备不时之需. 需求 首先,看一下 ...
- ES6的开发环境搭建
在搭建es6开发环境之前,先简单介绍一下es6. ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得 Java ...
- loadrunner 手工参数拼接与l oadrunner的url编码
Acction() { //演示需要的一些变量,提前声明 char *name = "yezi_zh"; "; char *work = "engin" ...
- [编织消息框架][netty源码分析]10 ByteBuf 与 ByteBuffer
因为jdk ByteBuffer使用起来很麻烦,所以netty研发出ByteBuf对象维护管理内存使用ByteBuf有几个概念需要知道1.向ByteBuf提取数据时readerIndex记录最后读取坐 ...
- html模板中的数字保留两位小数
<script> //html模板中的数字保留两位小数 function formatCurrency(num) { num = num.toString().replace(/\$|\, ...
- Swift数组的迭代访问
你可以通过for-in循环来迭代访问整个数组的值. for item in shoppingList { println(item) } // Six eggs // Milk // Flour // ...
- dos命令窗口修改编码,CMD编码修改方法
dos命令窗口修改编码,CMD编码修改方法 第一步,打开命令窗口有两种方法第一种:可以点击左下角的开始按钮,在运行里面输入CMD,然后敲回车2第二种:组合键WIN+R键,组合键后就会弹出窗口,然后输入 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7065294.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十四)--S ...
- 分享几个 git 的使用场景
你真的会使用 git 吗?你能回答下面几个问题吗? 有三个commit(顺序:CommitA.CommitB.CommitC),它们相互独立,没有依赖. 在不修改B.C的前提下,修改A,怎么操作? 合 ...