JDK 为什么需要配置环境变量

前言

  首先,我们要知道 Java 程序的执行过程。首先将 xxx.java 文件(使用 javac 编译指令)编译成 xxx.class 文件(字节码文件),再将字节码文件(使用 java 执行指令)解释成电脑所能认识的机器指令并运行。

正文

  Java 相关的环境变量:JAVA_HOME/ PATH / CLASSPATH

  • 配置 JAVA_HOME 环境变量 (必需)

  JDK 是我们进行 java 开发必不可少的,在开发过程中我们通常会使用一些 java 开发过程中用到的软件(如 eclipse、tomcat等)是通过 JAVA_HOME 来找到 JDK 的(环境变量 JAVA_HOME 的值就是 JDK 安装的路径),所以我们不配置JAVA_HOME的话那我们使用eclipse时可能要受到影响。

  • 配置 PATH 环境变量 (必需)

  前面讲到了 Java 程序的运行首先需要使用 javac 编译指令,编译成字节码文件,继而使用 java 执行指令解释并运行字节码文件。而 window 运行 java 编译命令 javac 或者执行指令 java 的时候,本地查找不到某个命令或文件,就会到path中去查找。

  那这个 javac 我们知道是存在 JDK 目录下面的 bin 目录中的,因为我们不可能在每个 java 文件所在目录放置 JDK ,故把 JDK 放置 path 环境变量中,这样每个 java 文件都可以通过 path 中设定的jdk目录找到编译命令进行编译。

  • 配置 CLASSPATH 环境变量(非必需):

  在java开发过程中我们会用到很多开发人员已经帮我们写好的标准类库,而我们要用这些类库的话必须告诉计算机如何找到它们,CLASSPATH环境变量的作用就是指定类搜索路径,JVM就是通过CLASSPTH来寻找类的,设置CLASSPATH环境变量即可使计算机找到它们。

  为什么非必须配置CLASSPATH环境变量呢?

相关推荐
程序员老陆3 分钟前
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?
开发语言·qt·ffmpeg·音视频
imaol17 分钟前
链表 -- 双向链表
java·前端·链表
2601_9638699532 分钟前
【计算机毕业设计】基于Java的相框定制系统的设计与实现
java·开发语言·课程设计
名字还没想好☜1 小时前
Go 的 unsafe.Pointer 实战:零拷贝 []byte↔string 转换与三条铁律
开发语言·后端·golang·go·unsafe
于烛2 小时前
为什么hasNext() 对只有一个元素的集合返回 true?90%初学者都有的疑问
java
wuminyu2 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
imaol12 小时前
数据结构---队列
java·数据结构·算法
半亩码田2 小时前
【.NET新特性·第11篇】C# 14 字段属性:告别手写 backing field
java·c#·.net
天天进步20153 小时前
Python全栈项目--协同办公平台
开发语言·python
JAVA面经实录9173 小时前
集合框架 (六)
java·开发语言