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 ...
随机推荐
- Hadoop基础-Hadoop的集群管理之服役和退役
Hadoop基础-Hadoop的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,如果是上千万规模的集群,难免一个一个月会有那么几台服务器出点故 ...
- 深入学习c++(虚函数遇到析构函数就退化了)
1. 在构造函数和析构函数中调用的虚函数并不具备虚函数的特性 因为基类的构造函数先构造, 析构函数后析构
- 抓包工具Charles基本用法
我们在进行B/S架构的Web项目开发时,在前端页面与后台交互的调试的时候,通常使用在JSP中加入“debugger;”断点,然后使用浏览器的F12开发者工具来查看可能出错的地方的数据.或者使用Http ...
- 第十节:基于MVC5+Unity+EF+Log4Net的基础结构搭建
一. 前言 本节继续探讨一种新的框架搭建模式,框架的结构划分和上一节是相同的,本节IOC框架换成了Unity,并且采用构造函数注入的方式,另外服务层的封装模式也发生了变化,下面将详细的进行探讨. (一 ...
- Windows系统盘符错乱导致桌面无法加载。
问题如下 : 同事有台笔记本更换SSD硬盘,IT职员帮他将新硬盘分好区后再将系统完整Ghost过来,然后装到笔记本上.理论上直接就可以使用了!但结果开机后登陆用户桌面无法显示,屏幕黑屏什么都没有. 问 ...
- AB PLC与西门子S7-1200以太网通信
前言:在项目实际应用中,经常会遇到两个不同厂家的PLC需要互联进行通信交换数据,由于各自的通信协议有所不同,实现起来的难度较大,通常的做法是借助第三方的网关.本文介绍的是AB PLC与西门子S7-12 ...
- torch.linspace,unsqueeze()以及squeeze()函数
1.torch.linspace(start,end,steps=100,dtype) 作用是返回一个一维的tensor(张量),其中dtype是返回的数据类型. import torch print ...
- 图文解说Win7系统机器上发布C#+ASP.NET网站
1. 概述 在一台干净的Win7机器上发布ASP.NET网站需要准备的有: a) .NET Framework 环境 b) 数据库 c) IIS ...
- 帆软报表(finereport) 折叠树
在进行展现数据时,希望模板的数据是可以动态折叠的,即点击数据前面的加号才展开对应下面的数据,可通过树节点按钮实现折叠树效果 实现思路: 1.这里建立一个内置数据集 添加数据 设置模板样式,添加颜色和对 ...
- ubuntu 16.04 安装 kubelet、kubeadm 和 kubectl
解决了***之后,就开始K8S安装的正式旅程,本次记录 kubelet.kubeadm 和 kubectl 的安装: apt-get update && apt-get instal ...