为什么要配置环境变量(深析)
前言:大家学习java首先听到的就是jdk,配置环境变量,当时我听到这个也一脸雾水,这是个什么东西,当时就稀里糊涂跟着老师一步步下载安装,弄好了也不知道是干嘛的,留下了很多问题,接下来就来解决这些问题
·JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
·JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
·JVM:Java虚拟机,运行Java代码
Java的安装包分为两类,一类是JRE其就是一个独立的Java运行环境; 一类是JDK其是Java的开发环境,不过在JDK的发布包中包含了一个独立的JRE,另外需要注意JDK本身就内置有JRE。
java程序是如何运行起来的呢
Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。
·问题:当我们安装jdk后没有进行环境变量配置,在你安装jdk的目录下的bin目录下打开命令行是可以执行java命令的,而在别的目录不可以执行java命令。
·原因:这是因为我们执行java命令需要开发工具集,而这些工具文件在jdk目录下的bin目录里面,所以我们在bin目录下可以成功执行java命令,其他目录不行。
·解决方法:我们配置环境变量的目的就是让java命令在任何目录下都可以执行,或者说让它执行时跳转到jdk的bin目录下,jdk的bin目录下有javac.exe和java.exe。
首先明确概念
1.path路径:用来指定可执行文件的搜索路径,也就是后缀名为.exe文件;
2.exe文件:你桌面上快捷方式的根本,点开快捷方式相当于点开改文件;
3.JAVA_HOME:指向Jdk的安装目录,作用是一些基于Java开发的工具会用到,比如tomcat,Eclipse,如果不用这些工具不需要配置。
4.CLASSPATH:在于告诉Java执行环境,在哪些目录下可以找到我们所要执行的Java程序所需要的类或者包。不过在JDK1.5之后的版本完全可以不用设置classpath环境变量就能正常运行程序。
5.IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),
配置了JAVA _HOME ,直接把%JAVA_HOME%/bin追加到PATH中即可。这样的好处在于,如果Java安装目录发生变话,主需要修改JAVA_HOME的值,不用再修改Path变量的值。path变量的作用是可以让我们在没有这个应用的路径下面打开我们需要打开的应用,前提是这个应用得在环境变量里面配置了路径。
重要!!部分Windows10的系统在重启之后%JAVA_HOME%\bin配置的失效,这里解决方法是配置全路径即可,比如:C:\Program Files\Java\jdk1.8.0_131\bin
这时我又有一个问题为什么不要配置CLASSPATH,
在java5中,sun公司改进了JDK设计,JRE会自动搜索当前路径下的jar包(JAR文件(Java归档,英语:Java Archive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。),并自动加载dt.jar和tools.jar。所以从Java5开始,就不必再CLASSPATH环境变量了。网上有很多的教程在安装java时都会要求设置CLASSPATH环境变量,所以在这里纠正下,java 5 以及以后的java版本都不需要再设置了。