Java之为何配置环境变量
一、不要问一个程序员为什么命名是基础零(^_^)
二、Java为什么跨平台:
因为有java虚拟机,一个程序的运行必然要依赖于系统,java的跨平台是因为java虚拟机jvm把不同平台编写的代码编译成本机可以识别的机器码从而运行。因此是java的虚拟机jvm是java实现的跨平台。需要注意的是跨平台的是java而不是虚拟机,虚拟机是不跨平台的。Java的虚拟机是一个桥梁。
三、为什么要配置jdk的环境变量?
众所周知,要开发java程序需要配置java的环境变量,主要包括三个环境变量:JAVA_HOME、path、CLASSPATH。但是我们为什么要进行配置呢?
因为人机交互有两种,一种就是图形化工具,我们使用鼠标点一点就可以动了,而另一种就是原始的命令行工具。入下图的jdk安装之后的工具,这些工具用鼠标点一点只会傲娇的一闪而逝,because他们是命令行工具,需要使用dos进行访问。
上图:

这个是安装java的jdk之后的bin文件夹目录。我们在编译java的时候使用的javac HelloWorld 命令行工具当中的javac就是javac.exe这个工具。比如说我这边有一个TianJia.java

我使用javac进行编译之后出现了class文件。注意上图的目录,我是在源文件的地址进行调用javac这个编译工具的。大家知道,如果我没有配置环境变量,这么滴是行不通的。为什么?因为使用命令行工具的话,我们的操作系统首先会从当前目录去寻找命令行工具的命令程序,如果没有找到就会去path环境变量下所指定的目录进行寻找,如果还没有找到就会抛出一个异常。

这个是我配置的环境变量


综上:配置环境变量的目的是为了在任何目录下都可以调用JDK当中的工具,因为系统会在当前目录中寻找命令程序,没找到的话就去path变量下规定的目录进行寻找。还没有找到才抛出异常。所以我们需要配置环境变量,指向jdk安装的bin路径。
四、为什么要配置JAVA_HOME?
有人会有疑问,直接把整个路径copy过去到path下不就好了吗?为什么还要使用JAVA_HOME呢?不使用JAVA_HOME自然也是可以的,但是最好使用,原因是,path变量太过重要了,我们最好不要经常去改动它,万一出错容易万劫不复。所以配置JAVA_HOME,当jdk的路径修改或者更换jdk版本的时候就不需要动到path,直接值修改JAVA_HOME就好了。
五、Classpath的作用?
我们使用javac HelloWorld之后会出现一个class文件,这个文件事实上才是java虚拟机执行的文件,classpath变量作用是指向class文件存放的地址。也就是路径。so easy!
Java之为何配置环境变量的更多相关文章
- JAVA为什么要配置环境变量,怎样配置
自己总结些再加抄点:安装JDK后要配置环境变量,主要有三个:1 JAVA_HOME ->为JDK的安装目录,如:F:\JAVA\jdk1.6.0_042 CLASSPATH ->到哪里找需 ...
- Java为什么要配置环境变量及如何配置环境变量
在没有配置环境变量之前,用cmd执行Java文件,需要指明Java的可执行文件,否则无法运行. 配置环境是为了在不用切换可执行文件目录下,方便Java程序的执行和控制. 那么环境变量就是让系统根据环境 ...
- 安装java时,配置环境变量classpath的作用
想必大家在安装javaSE或其它版本时会注意到,在配置环境变量path之后,还需要新建一个名为CLASSPATH,变量值设为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt. ...
- Linux CentOS7.0下JAVA安装和配置环境变量
一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...
- ionic2——安装Java jdk并配置环境变量
前言:jdk是 Java 语言的软件开发工具包,它包含了Java 的运行环境,Java 工具和Java 基础的类库.做java web开发,android开发,还有现在流行的混合式App开发,都需要安 ...
- java 下载与配置环境变量
第一:JDK下载 地址:https://www.java.com/zh_CN/download/win10.jsp 注意:自己载点击安装jdk的时候留意一下自己的安装地址,下一步要用: 第二:环 ...
- 【Java安装】配置环境变量
添加环境变量: JAVA_HOME D:\Program Files\Java\jdk1.8.0_131 classpath: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\to ...
- Java学习笔记一——安装JDK并配置环境变量
下载安装JDK1.8 在官网上下载JDK,官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- Mac配置环境变量(Java,Android,Gradle,Maven,Hosts)
JAVA_HOME 配置环境变量 # 使用vim打开.bash_profile文件,加入java环境变量 $ vim .bash_profile export JAVA_HOME=$(/usr/lib ...
随机推荐
- 【转】Reflector、reflexil、De4Dot、IL相关操作指令合集
PS:CTRL+F 输入你需要的内容,可以快速查找页面上的内容. 名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. ...
- H5——while循环,for循环
[循环结构的步骤] * ① 声明循环变量 * ② 判断循环条件 * ③ 执行循环体(while的{}中的所有代码) * ④ 更改循环变量 * 然后执行② ③ ④ var n=1; // ① 声明循 ...
- Educational Codeforces Round 55 (Rated for Div. 2)
D. Maximum Diameter Graph 题意 给出每个点的最大度,构造直径尽可能长的树 思路 让度数大于$1$的点构成链,考虑是否能在链的两端加度为$1$的点 代码 #include &l ...
- 在centos7下安装.net core
在这里记录下安装的过程: 一开始需要去官网下载centos相关的dotnetcore的sdk 上传到linux,解压,发现需要安装libunwind, 安装libunwind:yum install ...
- pythonのdjango初体验
简单的一个列表展示,实现了增.删.插 1.通过新建项目来创建一个Django项目 2.通过pycharm中的Terminal来创建app ,命令如下: python manage.py start ...
- dubbo启动时检查服务
Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true". 可以通过 che ...
- WPF 窗口去除顶部边框(正宗无边框)
最近在做一个大屏展示视频图片的项目,功能并不复杂,半天的工作量吧,一开始同事采用的Unity3D进行开发,但是里面要播放4K视频,Unity 的短板就是视频的播放了,今晚就要交付了,我一早就来公司,决 ...
- 【原创】大数据基础之Oozie(1)简介、源代码解析
Oozie4.3 一 简介 1 官网 http://oozie.apache.org/ Apache Oozie Workflow Scheduler for Hadoop Hadoop生态的工作流调 ...
- 【原创】大叔经验分享(26)hive通过外部表读写elasticsearch数据
hive通过外部表读写elasticsearch数据,和读写hbase数据差不多,差别是需要下载elasticsearch-hadoop-hive-6.6.2.jar,然后使用其中的EsStorage ...
- Linux系统xinetd服务启动不了
Linux系统xinetd服务启动不了 xinetd服务时发现xinetd服务启动不了,并出现错误提示xinetd:unrecognized service,当出现这个错误提示的时候说明系统未安装xi ...