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

二、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. DirectX11--HLSL中矩阵的内存布局和mul函数探讨

    前言 说实话,我感觉这是一个大坑,不知道为什么要设计成这样混乱的形式. 在我用的时候,以row_major矩阵,并且mul函数以向量左乘矩阵的形式来绘制时的确能够正常显示,并不会有什么感觉.但是也有人 ...

  2. Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁

    Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...

  3. 五十一、进程间通信——System V IPC 之进程信号量

    51.1 进程信号量 51.1.1 信号量 本质上就是共享资源的数目,用来控制对共享资源的访问 用于进程间的互斥和同步 每种共享资源对应一个信号量,为了便于大量共享资源的操作引入了信号量集,可对所有信 ...

  4. SSRF漏洞挖掘经验

    SSRF概述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问 ...

  5. XSS攻击常识及常见的XSS攻击脚本汇总

    一.什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了. 这里我们主要注 ...

  6. windows系统调试MapReduce程序

    如果使用windows开发mapreduce程序,是不能进行debug的,会报如下错误,但其实不影响最终运行结果 DEBUG o.a.h.u.Shell - Failed to detect a va ...

  7. JMeter学习笔记02-基础介绍

    基本构成 1)负载发生器:产生负载,多线程模拟用户行为 2)用户运行期:脚本运行引擎,用户运行器附加在线程上,根据指定脚本模拟指定的用户行为 3)资源发生器:生成测试过程中服务器.负载机的资源数据 4 ...

  8. Java——静态变量/方法与实例变量/方法的区别

    静态只能调用静态 非静态: 对象名.方法名 package ti; //通过两个类 StaticDemo.LX4_1 说明静态变量/方法与实例变量/方法的区别. class StaticDemo { ...

  9. Linux--奇思淫才

    根据进程号找到可执行的文件路径 [ec2-user@baolin ~]$ ll /proc/<pid>/exe lrwxrwxrwx 1 ec2-user ec2-user 0 May 3 ...

  10. Xcode 中armv6 armv7 armv7s arm64 i386 x86_64 归纳 (Architectures, Valid Architectures, Build Active Architecture Only)

    http://www.jianshu.com/p/09b445300d40 简介: armv7|armv7s|arm64都是ARM处理器的指令集 i386|x86_64 是Mac处理器的指令集 目前i ...