【java SE】环境变量详解

举报
Velpro_yanan 发表于 2022/09/01 10:11:50 2022/09/01
【摘要】 我们在学习java时,安装开发工具时要求先设置环境变量。那到底什么是环境变量?环境变量又有什么作用呢?@[toc] 一、什么是环境变量?环境变量(Environmental Variable),是操作系统层面上的概念,是操作系统运行时需要的变量,包含了一个或者多个应用程序所将使用到的信息。如:临时文件夹位置和系统文件夹位置等。简而言之,环境变量就是操作系统运行的必须要管的前提,是甩不开的包袱...

我们在学习java时,安装开发工具时要求先设置环境变量。

那到底什么是环境变量?环境变量又有什么作用呢?


@[toc]

一、什么是环境变量?

环境变量(Environmental Variable),是操作系统层面上的概念,是操作系统运行时需要的变量,包含了一个或者多个应用程序所将使用到的信息。如:临时文件夹位置和系统文件夹位置等。

简而言之,环境变量就是操作系统运行的必须要管的前提,是甩不开的包袱。

环境变量语法形式:

xxx:aaa;bbb;ccc
xxx:环境变量的变量名
aaa,bbb,ccc都是xxx的值 ,可以有多个

但是目前常见的下边的被码的整整齐齐的形式

> [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FWWeJVEO-1658675968015)(C:\Users\19271\AppData\Roaming\Typora\typora-user-images\image-20220724224540209.png)]

环境变量在哪

1.右键点击“此电脑”选择“属性”
2.进入“系统”界面,点击“高级系统设置”
3.进入“系统属性”界面,点击“高级”,再点击“环境变量”
4.进入“环境变量”界面,有用户变量和系统变量两类,系统环境变量对所有计算机用户都有效。点击系统变量下的“新建”

二、环境变量的作用

1)主要作用

①设置参数:相当于给系统或用户应用程序设置参数,具体作用与具体环境变量有关,即具体作用具体分析。

②软件共用:很好的解决双系统软件共用问题【暂放】。

③系统运行:解决双系统中软件一个可以运行,另外一个不可以运行的问题【暂放】。

2)java环境配置时的环境变量的作用【具体】

Path变量【配置时只需要路径追加】

Path中的值是什么

临时文件夹位置和系统文件夹位置等。

这些值大多数都是系统安装时由Windows系统自动设置的,还有一部分则是某些应用软件安装时添加的。一般情况下这些默认的设置都不需要人为修改。

Path变量作用

path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到哪些目录下去寻找。

说人话,就是我们可以有另外一种方式运行一个程序。

电脑上所有程序的运行其实都有两种方式,一种是直接双击.exe文件或者直接点击由.exe文件生成的快捷方式即我们桌面上的图标,另一种是在命定窗口输入路径然后运行程序。

以QQ的运行为例

第一种:略

第二种:主要是在配置Path绝对路径后通过命令窗口运行程序

拓展:快捷方式一般是使用绝对路径的建立的

JAVA_HOME变量

JAVA_HOME的值是什么

与path类似的是,JAVA_HOME里边放的也是文件的位置,只不过这里边放的都是java的。

JAVA_HOME的作用是什么

1.方便引用

“%java_home% 一般用于指向jdk的根目录,以便以系统其他位置寻找jdk的时候不需要再找寻jdk的全部路径。

> [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rqyvbPEp-1658675968017)(C:\Users\19271\AppData\Roaming\Typora\typora-user-images\image-20220724225224192.png)]

相当于我们给那个使用频次非常高的地址起了一个别名

2.规避风险

避免由于jdk地址的改动引起其内部文件访问异常而导致系统崩溃。

3.方便第三方软件使用

第三方软件会引用JAVA_HOME的值,若不设置,将无法使用该软件。若遇到软件无法正常使用,应该检查JAVA-HOME是否配置好。

CLASSPATH变量

CLASSPATH的值是什么

帮助JVM找到java类的路径。

CLASSPATH变量作用【涉及JVM和类】

结论1:在没有配置CLASSPATH环境变量时,java命令在找class文件时是默认在当前目录下寻找的。

结论2:配置过CLASSPATH环境后,java命令是按照CLASSPATH变量中的路径来的寻找class文件的,这就是为什么CLASSPATH变量中配置没有当前目录时,即使当前目录中有class文件,java命令仍然不能正常运行的原因。

作用是配置CLASSPATH环境变量的目的是在编译和运行时让JRE中的JVM能找到对应的类。【JVM就是通过CLASSPATH寻找类的。】

拓展:配置CLASSPATH环境变量需要在变量中添加一点(.),用以告诉JRE需要在当前路径下搜索Java类。而且在编译和运行时,Java程序还需要JDK的lib路径下的dt.jar和tools.jar文件中的Java类,因此还需要把这俩个文件也添加到环境变量中

参考资料

参考1

参考2

参考3

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。