刚学Java的时候,很多jdk配置教程都要求设置JAVA_HOME、Path、CLASSPATH3个变量。而Java官网有这么一句话:jdk1.5之后的版本在安装时不用设置CLASSPATH变量。今天我就以jdk1.5为例,总结下三者的区别。
我们要先了解环境变量什么作用。
按下windows键+R打开运行窗口,在里面直接输入system32,回车之后就打开了system32这个文件夹,为什么?
同样的操作我们输入game,为什么没有打开D:game这个文件夹呢?其实这就是“环境变量”的作用了。
系统就会先在当前目录查找 应用程序(机器可识别的机器码或目录),如果有就会执行文件或打开目录,否则就会在Path中指定的路径中找,
1、Windows 下环境变量设置
Path(核心)
当我们安装完jdk之后,打开cmd(在非安装目录的路径下)输入javac、java,会提示找不到命令。我们需要将命令所在的路径添加到Path系统变量中,这时,系统就可以找到可执行文件了。
Windows在查找可执行文件是这样的:在终端输入java时,系统就会先在当前目录查找java程序,如果有就会执行java,否则就会在Path中指定的路径中找,因为我们在PATH配置了...jdkin,系统会在这个路径下找到Java程序并执行。否则就提示找不到命令。Path的作用其实就是方便我们使用一些命令。
JAVA_HOME(为了方便设置path)
JAVA_HOME里面的内容是JDK安装目录。其实不设置JAVA_HOME也是可以的,只要有Path就行了。但是设置JAVA_HOME可以方便在Path中使用、更新JDK目录。比如,jdk的安装路径是C:jdk1.5.0_22,Path设置为C:jdk1.5.0_22in,而当我们把JAVA_HOME设为C:jdk1.5.0_22时,设置Path就可以写成%JAVA_HOME%in,以后当我们使用其他版本的jdk,就可以只修改JAVA_HOME的值,此外,当我们要使用Redis等组件时,也可以灵活使用JAVA_HOME做些改动。
CLASSPATH(JDK 1.5之后,不必设置)
编译、运行Java程序时,JRE会去该变量指定的路径中搜索所需的类(.class)文件,很多配置教程都让我们设置CLASSPATH环境变量为:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar,但是其实没有必要。以jdk1.5为例,当我们配置完成后,写个HelloWorld.java。
在cmd中进入文件目录,可以发现依然可以编译、运行
再查看运行的详细信息,可以看到没有CLASSPATH的情况下rt.jar、当前目录也是可以被JVM找到的。
也就是说,在JDK 1.5之后,完全可以不配置这个变量。不配置CLASSPATH,JRE会自动搜索当前路径下的类文件。编译、运行时,系统可以自动加载dt.jar和tools.jar文件中的Java类。
一般配置为:
系统环境变量:
CLASSPATH系统环境变量 .;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar
JAVA_HOME系统环境变量 D:Program FilesJavajdk1.8.0_201
path 系统环境变量:
%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;C:Program FilesMicrosoftWeb Platform Installer;C:Program Files (x86)Microsoft ASP.NETASP.NET Web Pagesv1.0;C:Program FilesMicrosoft SQL Server110ToolsBinn;D:Program FilesVisualSVN Serverin;D:Program FilesTortoiseSVNin;D:Program FilesTortoiseGitin;d:Program Files (x86)Gitcmd;C:Program FilesMicrosoft SQL Server130ToolsBinn;C:Program Filesdotnet;%JAVA_HOME%in;%JAVA_HOME%jrein;C:Program FilesRedis;C:Program Files odejs
Windows10 配置不需要加分号,再加路径,一个路径新建一个就行。配置玩JAVA_HOME后 Path路径配置如下:
这里说一下基础知识,如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。
简单来说,JRE可以支撑Java程序的运行,包括JVM虚拟机(java.exe等)和基本的类库(rt.jar等),JDK可以支持Java程序的开发,包括编译器(javac.exe)、开发工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和更多的类库(如tools.jar)等。
2、Linux操作系统的环境变量和用户变量文件系统相对简单
比方说 系统变量的文件都在/etc/profile 下面 ,而用户文件是在 ~/bash_profile下面(每个用户文件不在同一个)
Linux设置环境变量:
先打开配置环境变量文件
$ vi ~/.bash_profile
再设置环境变量
export M2_HOME=/usr/local/apache-maven-3.6.0
export PATH=$PATH:$M2_HOME/bin
Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
export 可新增,修改或删除环境变量
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
linux中vi和vim的区别
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
参考原文链接:https://blog.csdn.net/sinat_30973431/article/details/82556821