首页 > 其他分享 >JDK环境变量原理解释

JDK环境变量原理解释

时间:2023-02-11 09:22:50浏览次数:34  
标签:JAVA JDK java 路径 Java HOME 原理 环境变量

  环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。环境变量相对于给系统或用户应用程序设置的一些变量。例如Windows和DOS操作系统中的Path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到Path中指定的路径去找。

 

1、Path:告诉操作系统在哪些路径下查找对应的Java可执行文件。

  当用javac、java等命令编译、运行Java程序时,操作系统需要查找javac.exe、java.exe这些可执行文件的位置,然后调用这些可执行程序对Java程序进行对应的操作。

  我们开发程序代码之后,编译、运行Java代码的可执行文件所在的路径(即我们安装JDK的bin所在的路径)通常跟我们编写的代码是不在同一个文件夹目录下的,所以只能将其添加到系统的环境变量中,操作系统才能够找到对应的Java可执行文件,从而顺利编译、运行我们的代码。

 

2、JAVA_HOME:存放Java安装的绝对路径,方便修改或者升级。

  直接在Path中新建C:\Java\jdk1.8.0_192\bin,对大多数Java应用程序以及我们自己编写的Java代码都是可以正常编译、运行的,但是如果我们对本机安装的JDK进行版本修改或者升级,甚至对其安装路径进行改动,我们就需要更改Path中相应的内容。如果不小心误删了其它部分,很有可能导致我们的操作系统无法正常运行甚至崩溃,因此将bin之前的路径另外赋值给JAVA_HOME是很有必要的。

 

  设置JAVA_HOME变量的目的

  1. 为了方便引用,比如,JDK安装在D:Program Files (x86)Javajdk1.7.0目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;

  2. 归一原则, 当JDK路径被迫改变的时候, 仅需更改JAVA_HOME的变量值即可。

  3. 第三方软件会引用约定好的JAVA_HOME变量, 典型的就是tomcat服务器,如果不配置JAVA_HOME变量,那么tomcat服务器根本运行不起来

 

3、CLASSPATH:到哪儿去找 .class 文件。

文件夹 文件 说明
%JAVA_HOME%\lib tools.jar 关于一些基本工具的类库。如javac、java、javap、javadoc等
dt.jar 关于运行环境的类库,主要是swing的包。在用到swing时最好加上。
%JAVA_HOME%\jre\lib rt.jar jdk的基础类库。如java.lang、java.util、java.io、java.net、java.applet等

  如果程序中调用我们前面自己编写的Java类,就需要我们在当前所在目录文件夹下面寻找,此时需要我们加上一个 . 来指定同时可以在当前目录下查找 .class 文件。

 

  像很多第三方Java应用程序(比如Tomcat),是必须通过系统的环境变量,而且还必须要有变量JAVA_HOME,才可以正常启动运行,因此配置java环境变量还是很有必要的。

标签:JAVA,JDK,java,路径,Java,HOME,原理,环境变量
From: https://www.cnblogs.com/results/p/17110864.html

相关文章

  • redis 原理、数据结构
    非关系型数据库redis(notnolysql)存储格式是字典格式:key-valuevalue存储的五大数据类型:String(字符串)Hash(哈希)List(列表)Set(集合)zset(有序集合)应用场景:Redi......
  • 《分布式技术原理与算法解析》学习笔记Day07
    分布式锁什么是分布式锁?为了实现分布式互斥,我们需要在某个地方做个标记,这个标记是每个线程都可以看到,当标记不存在时可以设置该标记,当标记被设置后,其他线程只能等待拥有......
  • ARM linux 系统调用实现原理
    https://blog.csdn.net/u013836909/article/details/120962422 LinuxARM系统调用过程分析(一)——Linux编程中的API函数和系统调用的关系LinuxARM系统调用过程分析(二......
  • SpringBoot内置Web服务器自动配置原理
    SpringBoot为Web应用提供了内置Web服务器,我们不用再额外下载Tomcat、Jetty、Undertow等服务器。spring-boot-autoconfigure中提供了自动配置内置Web服务器的功能,只要添加......
  • Android IO 框架 Okio 的实现原理,到底哪里 OK?
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。前言大家好,我是小彭。今天,我们来讨论一个Square开源的I/O框架Okio,我们最开始接触到Oki......
  • 740~741 Cookie原理分析,发送多个Cookie
    实现原理:基于响应头set-cookie和请求头cookie实现  Cookie的细节1.一次可不可以发送多个cookie?可以以创建多个Cookie对象,使用respons......
  • 738~739 Cookie快速入门,原理分析
    会话技术1.会话:一次会话中包含多次请求和响应一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到一方断开为止2.功能:在一次会话的范围内的多次请求......
  • 三大常用集群leader选举+哨兵模式原理
    一,Zookeeper集群的leader选举Zookeeper的选举机制两个触发条件:集群启动阶段和集群运行阶段leader挂机(这2种场景下选举的流程基本一致)1,Zookeeper集群中的follower检测到......
  • 计算机组成原理 第2版 唐朔飞 电子书 pdf
    作者:唐朔飞出版社:高等教育出版社 关注公众号:红宸笑。回复:电子书即可  《面向21世纪课程教材•普通高等教育"十一五"国家级规划教材:计算机组成原理(第2......
  • Calcite SQL 解析、语法扩展、元数据验证原理与实战(下)
    上一篇文章我们介绍了CalciteSQL解析的原理以及如何扩展SQL语法,本篇我们将进入SQL执行的下一个阶段:元数据验证。二、Calcite元数据验证SQL成功解析为抽象语法树后,......