一、不要问一个程序员为什么命名是基础零(^_^)

二、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之为何配置环境变量的更多相关文章

  1. JAVA为什么要配置环境变量,怎样配置

    自己总结些再加抄点:安装JDK后要配置环境变量,主要有三个:1 JAVA_HOME ->为JDK的安装目录,如:F:\JAVA\jdk1.6.0_042 CLASSPATH ->到哪里找需 ...

  2. Java为什么要配置环境变量及如何配置环境变量

    在没有配置环境变量之前,用cmd执行Java文件,需要指明Java的可执行文件,否则无法运行. 配置环境是为了在不用切换可执行文件目录下,方便Java程序的执行和控制. 那么环境变量就是让系统根据环境 ...

  3. 安装java时,配置环境变量classpath的作用

    想必大家在安装javaSE或其它版本时会注意到,在配置环境变量path之后,还需要新建一个名为CLASSPATH,变量值设为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt. ...

  4. Linux CentOS7.0下JAVA安装和配置环境变量

    一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...

  5. ionic2——安装Java jdk并配置环境变量

    前言:jdk是 Java 语言的软件开发工具包,它包含了Java 的运行环境,Java 工具和Java 基础的类库.做java web开发,android开发,还有现在流行的混合式App开发,都需要安 ...

  6. java 下载与配置环境变量

    第一​:JDK下载 ​地址:https://www.java.com/zh_CN/download/win10.jsp 注意:自己载点击安装jdk的时候留意一下自己的安装地址,下一步要用: 第二​:环 ...

  7. 【Java安装】配置环境变量

    添加环境变量: JAVA_HOME D:\Program Files\Java\jdk1.8.0_131 classpath: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\to ...

  8. Java学习笔记一——安装JDK并配置环境变量

    下载安装JDK1.8 在官网上下载JDK,官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...

  9. Mac配置环境变量(Java,Android,Gradle,Maven,Hosts)

    JAVA_HOME 配置环境变量 # 使用vim打开.bash_profile文件,加入java环境变量 $ vim .bash_profile export JAVA_HOME=$(/usr/lib ...

随机推荐

  1. 分布式监控系统开发【day38】:报警阈值程序逻辑解析(三)

    一.需求讨论 1.请问如何解决延迟问题 1000台机器,每1分钟循环一次但是刚好第一次循环第一秒刚处理完了,结果还没等到第二分钟又出问题,你那必须等到第二次循环,假如我这个服务很重要必须实时知道,每次 ...

  2. dom4j,json,pattern性能对比【原】

    报文大概2000字节,对比时为只取其中某个节点的值即可. 以下对比可知取少量节点时pattern性能是远大于dom4j,和json的, 但取大量的时候就不能这么以偏概全了. dom4j和pattern ...

  3. css长度单位学习(em,rem,px,vw,vh)

    绝对长度单位 绝对长度单位代表一个物理测量 [像素px(pixels)] 像素,为影像显示的基本单位,译自英文"pixel",pix是英语单词picture的常用简写,加上英语单词 ...

  4. 动态规划dp

    一.概念:动态规划dp:是一种分阶段求解决策问题的数学思想. 总结起来就一句话:大事化小,小事化了 二.例子 1.走台阶问题 F(10):10级台阶的走法数量 所以:F(10)=F(9)+F(8) F ...

  5. Java String相关

    一.String类的常用方法 1. int indexOf(String s) 字符串查找 2. int lastIndexOf(String str) 3. char charAt(int inde ...

  6. unix域字节流回射程序

    一.服务端程序 #include <stdio.h> #include <errno.h> #include <stdlib.h> #include <uni ...

  7. JS基础之传参(值传递、对象传递)

    一.概念 我们需了解什么是按值传递(call by value),什么是按引用传递(call by reference).在计算机科学里,这个部分叫求值策略(Evaluation Strategy). ...

  8. Lua中的表达式

    [算术操作符] Lua支持常规的算术操作符有:”+”(加法),”-“(减法),”*”(乘法),”/”(除法),”^”(指数),”%”(取模),一元的”-“(负号).所有的这些操作符都用于实数.例如:x ...

  9. 【原创】大叔经验分享(27)linux服务器升级glibc故障恢复

    redhat6系统默认安装的glibc-2.12,有的软件依赖的是glibc-2.14,这时需要升级glibc,下载安装 http://ftp.gnu.org/gnu/glibc/glibc-2.14 ...

  10. ECMAScript 6中数组新方法

    数组的方法 数组的的大部分方法都可以实现数组的遍历. foreach方法 实现数组的遍历 const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.forEach(fu ...