在安装完JDK以后,要设定JAVA环境变量。

刚接触的时候,我很困惑,这特么什么玩意啊,然后知其然不知其所以然的

按照说明做完了却不知道为什么这么做,这里简单做一些总结说明。

首先,什么是环境变量

环境变量是指在操作系统中用来指定操作系统运行环境的一些参数

其实跟程序里的变量意思差不多,

程序中的变量嘛,就是代表着在程序中具有什么意义的一串字符的一个简短的字符串而已。

环境变量,就是操作系统中使用的变量而已。

至于这些变量有什么作用,和具体变量名相关。

那么介绍一下我们将要设置的三个环境变量

①Path: 是操作系统自带的,运行没有指定位置的程序的默认路径。

用命令执行java类有两个过程

第一个是javac    可以将java源文件编译为class字节码文件

第二个是java      可以运行class字节码文件

这两个指令实际上是运行下面两个应用程序。

C:\Program Files\Java\jdk1.7.0_79\bin\javac.exe

C:\Program Files\Java\jdk1.7.0_79\bin\java.exe

我们在现存环境变量Path后面追加";C:\Program Files\Java\jdk1.7.0_79\bin"了以后,

当我们执行javac HelloWorld.java的时候,我们不需要指定指令javac所在的位置,

因为操作系统会自动去path中定义的" C:\Program Files\Java\jdk1.7.0_79\bin"里面寻找javac.exe然后来执行

可这么写显的很麻烦,而且tomcat等很多工具中也会经常用到jdk中的东西,

所以我们在系统环境变量里追加下面这个自定义环境变量

②Java_Home:

把JAVA_HOME设为JDK的安装路径(如C:\Program Files\Java\jdk1.7.0_79),此路径下包括lib,bin,jre等文件夹 ,当我们需要java路径的时候你写%Java_Home%就可以了,而不用输入一长串地址。

上面也就变成了";%Java_Home%\bin"

这种情况下再执行javac命令看看效果(具体设置方法参考上一篇博客)

无需指定javac所在路径即可执行成功

③ClassPath:Java运行环境加载类的路径。

以前的资料里说只有类在ClassPath中,才能被识别和加载,

设为 .;%Java_Home%\lib(注意前面的点号(.),点号表示当前路径)。

但是据说jdk1.6以上就不需要配置ClassPath了;系统会自动帮你配置好; 只需要配置Java_Home和Path就可以了。

口说无凭,我们试一下就好啦。

现在我的环境中还没有配置CALSSPATH

确实可以。

另外只要安装JDK,不配置任何环境变量都可以在命令行,也就是cmd中运行java,原因是安装JDK时,会往C:\windows\system32下复制一个java.exe的文件,所以cmd下可以运行,必须保证javac在命令行中任意位置可以运行,才算JAVA_HOME和Path配置对!

还有系统环境变量貌似不区分大小写。

再添加一下我的测试程序,最最初级的HelloWorld.java

public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}

结束。

JAVA基础学习——1.3 关于JAVA环境变量设定 Path,Java_Home,ClassPath的更多相关文章

  1. 黑马程序员——JAVA基础之常用DOS命令和环境变量的配置

    ------- android培训.java培训.期待与您交流! ----------   1.常用dos命令: dir   显示当前文件下目录                             ...

  2. Java基础笔记(二)——配置环境变量

    https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 到此处下载jdk,并安装.(选 ...

  3. Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...

  4. Java基础学习(一) -- Java环境搭建、数据类型、分支循环等控制结构、简单一维数组详解

    一:java概述: 1982年,SUN公司诞生于美国斯坦福大学校园,并于1986年上市,在NASDAQ(纳斯达克:是全美证券商协会自动报价系统)的标识为SUNW,2007年改为JAVA. 2009年4 ...

  5. Java基础学习笔记二十三 Java核心语法之反射

    类加载器 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,链接,初始化三步来实现对这个类进行初始化. 加载就是指将class文件读入内存,并为之创建一个Class对象.任 ...

  6. Java基础教程---JDK的安装和环境变量的配置

    一.Java的安装和环境变量配置 1.Java的安装: 第一步,从Oracle官网下载安装包,当然也可以从其他安全可靠的地方下载(PS:根据不同电脑系统下载相应的安装包,注意电脑的位数.如x64,x3 ...

  7. 【转】java 环境变量:path与classpath区别

    path指示java命令的路径,像javac.java.javaw等: classpath是javac编译器的一个环境变量,它的作用与import.package关键字有关,当你写下improt ja ...

  8. 关于「环境变量」PATH,CLASSPATH

    以前在Windows中配置Java环境变量的时候初次遇到要配置环境变量,当时并不知道那是干什么用的,只知道配置了之后,在任何一个文件夹都可以使用"javac"命令来编译java文件 ...

  9. Java基础学习(五)-- Java中常用的工具类、枚举、Java中的单例模式之详解

    Java中的常用类 1.Math : 位于java.lang包中 (1)Math.PI:返回一个最接近圆周率的 (2)Math.abs(-10):返回一个数的绝对值 (3)Math.cbrt(27): ...

随机推荐

  1. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  2. [开源].NET高性能框架Chloe.ORM-完美支持SQLite

    扯淡 这是一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询.分组查询. ...

  3. javascript正则表达式(RegExp)简述

    首先我们来思考以下两个个场景 我们使用window操作系统,有时候需要找一个文件,刚刚好这个文件我不知道放哪里去了,这个时候我们该怎么办呢? 我们使用word写论文的时候,不小心将"订价&q ...

  4. 混合使用UITabBarController和UINavigationController

    混合使用这两个控件的好处是我们可以在NavigationBar添加更多的东西,如标题,按钮等.让用户能够获得更多的信息. UITabBarController的属性ViewControllers接受以 ...

  5. JS常用正则表达式

    1.IP地址验证 var reg = /^(([1-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))\.(([0-9])|([1-9][0 ...

  6. Android公共技术收集

    UML类图详解 详解Android主流框架不可或缺的基石(ClassLoader,泛型,反射,注解) 公共技术点之  Java注解Annotation 公共技术点之  Java反射Reflection ...

  7. Centos 7 使用jenkins 打包android项目

      1.配置java环境   在sun官网下载,解压后放入/usr/java下,并配置环境变量如 vi /etc/profile 在最底部加入如下配置(注:添加环境变量,都是在文件最底部添加)   J ...

  8. 3sum问题的解决

    其实一开始想错了,把这个问题想难了,导致没有思路,现在好了很多. 题目: Given an array S of n integers, are there elements a, b, c in S ...

  9. 微信Api分享

    这些都是以前积累的东西,有很多都是参考了别人的,都忘记出处了,请大家谅解.参考微信开发者平台 https://open.weixin.qq.com/cgi-bin/showdocument?actio ...

  10. theano broadcasting

    当我们使用函数对两个数组进行计算时,函数会对这两个数组的对应元素进行计算,因此它要求这两个数组有相同的大小(shape相同).如果两个数组的shape不同的话,会进行如下的广播(broadcastin ...