在安装完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. hihocoder-1014 Trie树

    hihocoder 1014 : Trie树 link: https://hihocoder.com/problemset/problem/1014 题意: 实现Trie树,实现对单词的快速统计. # ...

  2. jetbrain系列IDE设置

    1.代码提示默认ctrl+space(这是全角半角切换),改为alt+/,这与cyclic expand word冲突,直接删掉它就可以了 2.ctrl+M,进入presentation mode,与 ...

  3. NC6开发配置流程

    1.功能注册 2.菜单注册 3.单据类型管理 4.单据模板初始化 5.查询模板初始化 6.功能节点默认模板设置 7.编码对象注册.编码规则定义

  4. CSS你可能还不知道的一些知识点

    一.特殊选择器 1.* 用于匹配任何的标记 2.> 用于指定父子节点关系 3.E + F 毗邻元素选择器,匹配所有紧随E元素之后的同级元素F 4.E ~ F 匹配所有E元素之后的同级元素F 5. ...

  5. ITIL十大流程

    1.服务水平管理(Service Level Management):服务水平管理的目标是通过协调IT用户和提供者双方的观点,实现特定的.一致的.可测量的服务水平,以为客户节省成本.提高用户生产率. ...

  6. ArrayList_HashSet的比较及Hashcode分析

    ArrayList_HashSet的比较及Hashcode分析 hashCode()方法的作用   public static void main(String[] args) { Collectio ...

  7. [Android] Visual Studio Emulator For Android 相关

    1.修改设备名 C:\Users\[用户名]\AppData\Local\Microsoft\VisualStudioEmulator\Android\Containers\Local\Devices ...

  8. Sensitive directory/file Integrity Monitoring and Checking

    catalogue . OSSEC . HashSentry: Host-Based IDS in Python . Afick . 检测流程 1. OSSEC OSSEC is an Open So ...

  9. python网络编程

    Socket是网络编程的一个抽象的概念. 通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 套 ...

  10. vm.max_map_count

    Virtual memoryedit Elasticsearch uses a hybrid mmapfs / niofs directory by default to store its indi ...