我们刚开始学习java,都会面临编程路上的第一个小怪兽:配环境变量。

网上很多教程给了我们很多的参考,但我们是否有想过为什么要这么配呢?下面我就是想重点探讨一下为什么?并且希望以后你们不但能配,还知道这么配,不至于被这个傲娇兽耽误了学习的兴趣233

一、JAVA_HOME

1.这个配置主要是为了方便你后续的一些更改操作,也可以说是满足所谓的“归一原则”。

列如:你将一下东西(假如 书)放到了一个蓝色的箱子里,而蓝色的箱子你现在把它放在了墙角落。可那一天,你想更改一下,房间的布局了,将箱子移到了 厕所(⊙﹏⊙)b,那你在想要找书的时候,你会怎么找呢?是去墙角吗?不是吧,是直接去找蓝色的箱子。

那现在你或许就懂了,蓝色的箱子就是“JAVA_HOME”,而里面的书,就是你想要放入的东西(“你jdk的安装目录”)。

2.那当你理解这个蓝色箱子的用途后,你就会发现,它是可有可无的,但我们一般配它是为了更方便的使用,你总不希望每天抱着书走吧……

现在我们把它删掉

删掉了

将path路径写成绝对路径

发现了吗?,依然是能运行的啊

那么竟然提到了PATH,那下面我们就来讲讲PATH的用途及配置好了

二、PATH的配置

path有什么用呢?

1.告诉操作系统去哪里找你的java相关程序

2.便于你可以直接使用java指令(因为被操作系统找到了呗)

怎么配置:

1.就像我上图一样将它配成“你安装的jdk中的bin目录下”,为什么是bin目录下呢?因为它是工具包的目录,java中的工具都是在这个目录下,列如:你们以后会非常熟悉的javac.

编译指令

2.设置成相对路径,这就涉及到前面的JAVA_HOME了,也就是说为了方便,你可以直接通过箱子找到你要的,至于具体的书是什么,你就在箱子中好好翻找吧

创建一个JAVA_HOME,另外注意一个小细节,变量值的后面 不要加 “ ;”,因为你加了分号,就相当于告诉操作系统搜寻结束了,你要光找到箱子,这样没什么问题,可关键是你要找的是箱子里面你具体想要的书啊,当然,你们也可以加一下分号试一下

配置PATH

搞定!

好,大家也可能发现了,我没有配置CLASSPATH,然而jdk已经可以正常使用了,为什么呢?

三、CLASSPATH

其实你不配它也没有多大的影响,因为java虚拟机在寻找.class文件中会默认先从不目录下找,所以这不一下就给提溜出来了。一般别人会让你将

CLASSPATH=“.;”配置成这样,是因为 “.” 就是寻找本目录下的意思,你这样配置当然更为严谨一些。

也有人这样配

CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;‪

这主要是因为在后面的学习中,我们会使用到java很多的第三方工具包,而这个包大多就在上面配置的路径下,所以当你们的程序涉及到这些的时候,classpath会指引jvm或编译器寻找到他们所想要的工具。当然你们也可以将自己将要使用的包的路径添加到 它的后面。

这也是配置classpath的意义。

发散思想:

1.你们有注意到 我们安装jdk的时候,还提示我们安装了一个jre吗?而jdk中是有jre的,这不是 多此一举吗?

就是多此一举啊(⊙﹏⊙)b

jre主要是给我们提供一个使用java的运行环境,jvm,java.exe也包含在这里面,然而,我们作为一个开发者并不满足于只是要使用,还要编译,所以,我们需要jdk中编译器以及工具包。所以啊,你把jre删了也没问题……我没让你删jdk中的jre啊,删错了别找我233

2.其实classpath真的不需要配啊,因为你们编写程序所要使用到的第三方软件(eclipse……)都已经默认的将你们的classpath给补全了,所以你即使以后要使用到第三方包,也仅仅只需要导入你使用的软件就好了。

3.欢迎补充:)

关于java“配置环境变量”的那些事的更多相关文章

  1. java 配置环境变量

    使用java编程首先需要安装jdk,然后还需要给你的电脑配置环境变量,下面就用图文演示如何配置环境变量: 1.右键我的电脑 -> 属性 2.点击“高级系统设置” 3.点击“环境变量” 4.在系统 ...

  2. Java配置环境变量

    首先,你应该已经安装了Java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 Java 的环境变量 1.进入“计算机”的“属性”选项后如图 2.选择“高级 ...

  3. Java配置环境变量、方法和原因

    首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份 1.进入“计算机 ...

  4. 2015 11 26 java 配置环境变量

    使用java软件, 须进行改变配置环境变量.需要2步. 第一,在电脑中找到配置环境变量的位置: 我的电脑,属性,高级,环境变量. 第二,进行添加两个变量,更改一个变量: 1,变量名:JAVA_HOME ...

  5. java配置环境变量-及原因

    为什么java要配置环境变量? 那就要从java的编译和解析过程说起 java文件的编译和解析过程 一.一个hellow.java文件,要经历先编译(变成hellow.class),再解析(解析成机器 ...

  6. 从java的开始,java概述,java配置环境变量

    一.java开发入门 java 概述   Java划分为三个技术平台:JavaSE(标准版,含Java基础类库),JavaEE(企业版,技术平台),JavaME(小型版,小型产品.嵌入式设备) Jav ...

  7. java配置环境变量,无法也行javac问题

    最近换了公司,搭建开发环境的时候出了点小差错,写篇随笔记录下,下载jdk的时候要选择符合自己电脑的jdk版本,位数. 笔者之前下载的时候没注意下了个32bit的jdk,开发用eclipse的时候打不开 ...

  8. Java 配置环境变量教程

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  9. java配置环境变量 jdk1.8

    1.首先第一步安装JDK window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/j ...

随机推荐

  1. JavaScript 自定义事件

    //自定义事件 function Event() { var handles = []; //绑定事件 this.addHandle=function(fn) { handles.push(fn); ...

  2. LCD驱动 15-1

    app: read() ---------------------------------------------------------------------------------------- ...

  3. 根据图片Uri获得图片文件

    2013-12-17 1. 根据联系人图片Uri获得图片文件并将它显示在ImageView上, 代码如下: Uri uri = Uri.parse("content://com.androi ...

  4. C-指针和数组的区别

    指针的操作: 允许:1)同类型指针的赋值 2)与整形的加减运算 3)指向同一数组内指针的减运算和比较 4)赋 ‘0’ 或与 ‘0’ 比较 不允许:1)两指针的相加,相乘除,位移或mask 2)与flo ...

  5. [vijos P1595] 学校网络

    有生以来做的第二道IOI题目居然也是96'的,又是一道比我还老的题目. 纯属复习或者说再学一遍Tarjan算法,本题的主要算法就是Tarjan+缩点,对于两个子问题的答案,根据解题:强连通缩点为拓扑图 ...

  6. Oracle常用的函数

    1.常用的函数分为五大类: 字符函数.数字和日期函数.数字函数.转换函数.混合函数 2.字符函数 字符函数主要用于修改字符列.这些函数接受字符输入,返回字符或数字值.Oracle 提供的一些字符函数如 ...

  7. AbstractMap学习记录

    package java.util;import java.util.Map.Entry; /** * This class provides a skeletal implementation of ...

  8. Line计划今年全面进军中国市场:建立本地团队

    北京时间6月13日下午消息,<华尔街日报>报道称,移动消息应用Line计划于今年晚些时候进军中国市场.Line将在中国建立本地团队,开发内容和功能,从而进一步开拓中国这一全球最大的移动市场 ...

  9. 《JAVA笔记 day08 静态_单例》

    //static关键字: /* 静态方法的使用注意事项: 1,静态方法不能访问非静态的成员. 但是非静态是可以访问静态成员的. 说明:静态的弊端在于访问出现了局限性.好处是可以直接别类名调用. 2,静 ...

  10. EF学习笔记(一)

    EF(EntityFramwork)实体框架:主要是将实体类(EntityClass)和数据表(Table)进行映射(Map). EF核心对象: DbContext   (数据访问核心对象)      ...