在安装完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. bootstrop 日期控件 datepicker被弹出框dialog覆盖的解决办法

    筒子们在使用bootstrap的日期控件(datepicker , 现在官网提供的名称叫 datetimepicker)时可能会遇到如上图的问题这是啥原因造成的呢? 答案很简单时输出的优先级造成的(z ...

  2. JAVA+Maven+TestNG搭建接口测试框架及实例

    1.配置JDK 见另一篇博客:http://www.cnblogs.com/testlurunxiu/p/5933912.html 2.安装Eclipse以及TestNG Eclipse下载地址:ht ...

  3. Rabbitmq集群升级方案

    升级Rabbitmq 3.6.3版本至3.6.6版本,升级过程中的一些关键步骤记录 Step 1: 顺序关闭集群所有节点,这里注意最后一个关闭的节点必须保证为硬盘节点,而非RAM节点: centOS ...

  4. ajax提交数据到java后台,并且返回json格式数据前台接收处理值

    1.前台html页面.有一段代码如下: 账  户:  <input type="text" name="userName" id="userN& ...

  5. js获取输入框中当前光标位置并在此位置插入字符串的方法(angularjs+ts)

    一半是参照别人代码,一半是自己代码,略笨拙,如果有更好的方法希望分享. 获取当前光标位置的方法 getCaretPosition (obj:any) { //获取输入框中当前光标的位置,obj为此输入 ...

  6. 遍历hashMap的两种方式

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  7. 第1章 (ASP.NET MVC简介)

    一.MVC概念 MVC由三部分组成:视图(View).模型(Model).控制器(Controller)组成 二.运用VS创建MVC 1.新建一个"解决方案" 2.在"解 ...

  8. 关于win7 安装redis的问题

    首先在https://github.com/MSOpenTech/redis/releases下载64位的安装包 到任意盘中 将改名为redis 使用cmd命令 启动redis 进入 redis 目录 ...

  9. QT下调试基于ros的catkin项目

    1.首先告诉qt ros的搜索路径,通过修改qt creator 桌面启动程序来实现 sudo    gedit ~/.local/share/applications/DigiaQtOpenSour ...

  10. 分页型Memory LCD显存管理与emWin移植

    上一篇随笔整理了一下逐行扫描型Memory LCD的显存管理与emWin移植,这篇就整理一下分页型Memory LCD显存管理与emWin移植. //此处以SSD1306作为实例 //OLED的显存/ ...