环境变量详解

当我们配置java或者python环境时,通常需要我们配置环境变量。那么环境变量是什么呢?

环境变量介绍

  • 环境变量(Environment Variables)是一种在操作系统层面设置的键值对,它们用来存储系统或用户运行程序时所需的信息。
  • Windows 系统里,常见环境变量有:
    • PATH:告诉系统到哪些目录去寻找可执行文件。
    • TEMP和TMP:临时文件的存放目录。
    • USERNAME:当前登录的用户名。
    • SystemRoot:系统目录,一般是 C:\Windows
  • Linux / macOS 系统里,常见环境变量有:
    • PATH:同样表示搜索可执行程序的路径。
    • HOME:当前用户的主目录。
    • USER:当前用户名。
    • SHELL:用户默认的命令行解释器(比如 /bin/bash)。

环境变量作用:

  • 程序运行时要知道依赖库工具的位置,就靠 PATH
  • 系统和应用软件能通过读取这些变量来共享配置信息
  • 用户可以根据需要自定义,比如添加 Python、Java、Go 的安装路径。

环境变量也分为用户变量和系统变量

  • 用户变量:只对当前用户生效。
  • 系统变量:对整台电脑所有用户生效。
  • 当用户变量和系统变量 里都有同名变量时,用户变量的值会覆盖系统变量的值, 优先使用用户那一份

接下来,我们以java环境变量举例,更好的理解环境变量是什么:

java环境变量配置

以配置Java环境为例:

  1. 我们首先需要下载JDK,并保存在我们电脑的目录上。假设为D:\java\jdk-8u391
  2. 然后再配置电脑的环境变量。在其中的系统变量中添加两个键值对:首先是创建一个JAVA_HOME键值对,然后在PATH中新建一个值引用JAVA_HOME

其中,JAVA_HOME是指向JDK的安装根目录,PATH中引用了JAVA_HOME,并在路径后添加上了bin目录。PATH主要用于编译和运行java程序,而JAVA_HOME主要给一些应用或者插件如MAVEN、IDEA、Tomcat等使用。

因为 Windows(或 Linux/macOS)系统默认不知道 JDK 安装在哪里。如果不告诉系统:你在命令行里输入 javajavac 时,它会报错:

'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。

开发工具(IDEA、Eclipse、Maven、Gradle、Tomcat 等)也找不到 JDK。

所以,配置环境变量就是让系统和工具能找到 JDK 的位置。

当运行Java,系统实际上做的事情:

  • 先看是不是 CMD/PowerShell 内置的命令(比如 cddir)。
  • 如果不是,则会在当前目录中找,如果当前目录有 java.exe → 优先执行它。
  • 如果没找到,系统就会从 PATH 的目录列表里找。系统会从PATH的第一条目录开始遍历,直到找到java.exe。如果遍历到最后一条目录还是没找到,则会报错。

环境变量作用

假设JDK安装在:

C:\Program Files\Java\jdk-17

没有配置环境变量时:

  • 若要编译java程序:
"C:\Program Files\Java\jdk-17\bin\javac.exe" HelloWorld.java
  • 若要运行Java程序:
"C:\Program Files\Java\jdk-17\bin\java.exe" HelloWorld

配置了环境变量:

JAVA_HOME = C:\Program Files\Java\jdk-17
PATH = %JAVA_HOME%\bin

则编译和运行Java程序时可以省略的写为:

# 编译
javac HelloWorld.java
# 运行
java HelloWorld
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值