为什么要配置环境变量(深析)

简介: 为什么要配置环境变量(深析)

为什么要配置环境变量(深析)

前言:大家学习java首先听到的就是jdk,配置环境变量,当时我听到这个也一脸雾水,这是个什么东西,当时就稀里糊涂跟着老师一步步下载安装,弄好了也不知道是干嘛的,留下了很多问题,接下来就来解决这些问题

·JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。

·JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。

·JVM:Java虚拟机,运行Java代码

Java的安装包分为两类,一类是JRE其就是一个独立的Java运行环境; 一类是JDK其是Java的开发环境,不过在JDK的发布包中包含了一个独立的JRE,另外需要注意JDK本身就内置有JRE。

java程序是如何运行起来的呢

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。

注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。

·问题:当我们安装jdk后没有进行环境变量配置,在你安装jdk的目录下的bin目录下打开命令行是可以执行java命令的,而在别的目录不可以执行java命令。

·原因:这是因为我们执行java命令需要开发工具集,而这些工具文件在jdk目录下的bin目录里面,所以我们在bin目录下可以成功执行java命令,其他目录不行。

·解决方法:我们配置环境变量的目的就是让java命令在任何目录下都可以执行,或者说让它执行时跳转到jdk的bin目录下,jdk的bin目录下有javac.exe和java.exe。


首先明确概念

1.path路径:用来指定可执行文件的搜索路径,也就是后缀名为.exe文件;

2.exe文件:你桌面上快捷方式的根本,点开快捷方式相当于点开改文件;

3.JAVA_HOME:指向Jdk的安装目录,作用是一些基于Java开发的工具会用到,比如tomcat,Eclipse,如果不用这些工具不需要配置。

4.CLASSPATH:在于告诉Java执行环境,在哪些目录下可以找到我们所要执行的Java程序所需要的类或者包。不过在JDK1.5之后的版本完全可以不用设置classpath环境变量就能正常运行程序。

5.IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),

配置了JAVA _HOME ,直接把%JAVA_HOME%/bin追加到PATH中即可。这样的好处在于,如果Java安装目录发生变话,主需要修改JAVA_HOME的值,不用再修改Path变量的值。path变量的作用是可以让我们在没有这个应用的路径下面打开我们需要打开的应用,前提是这个应用得在环境变量里面配置了路径。

重要!!部分Windows10的系统在重启之后%JAVA_HOME%\bin配置的失效,这里解决方法是配置全路径即可,比如:C:\Program Files\Java\jdk1.8.0_131\bin

这时我又有一个问题为什么不要配置CLASSPATH,

在java5中,sun公司改进了JDK设计,JRE会自动搜索当前路径下的jar包(JAR文件(Java归档,英语:Java Archive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。),并自动加载dt.jar和tools.jar。所以从Java5开始,就不必再CLASSPATH环境变量了。网上有很多的教程在安装java时都会要求设置CLASSPATH环境变量,所以在这里纠正下,java 5 以及以后的java版本都不需要再设置了。


目录
相关文章
|
6天前
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
Minecraft Forge部署以及部署时可能出现的问题以及解决方案
27 0
|
6天前
|
IDE jenkins Java
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
122 0
|
6天前
|
并行计算 Ubuntu Docker
百度Apollo探索之旅:迈出第一步基础软件安装指南(文末赠送apollo周边)
百度Apollo探索之旅:迈出第一步基础软件安装指南(文末赠送apollo周边)
116 0
|
6天前
|
弹性计算 Linux 网络安全
【活动推荐】Alibaba Cloud Linux实践操作学习赛,有电子证书及丰厚奖品!
参与开放原子基金会的[龙蜥社区Alibaba Cloud Linux实践操作学习赛](https://competition.atomgit.com/competitionInfo),获取电子证书。报名后,按照提供的链接完成简单实验,成果提交至AtomGit并加入钉钉群。实验包括在ECS Intel实例上部署GPT-2语言模型,需安装PyTorch等软件,预训练模型已预先下载。完成实验后在指定仓库提交结果,并填写信息收集表。
|
12月前
|
机器学习/深度学习 前端开发 Linux
《智能前端技术与实践》——第1章 开发环境配置——1.1 安装 Anaconda3
《智能前端技术与实践》——第1章 开发环境配置——1.1 安装 Anaconda3
143 0
|
消息中间件 Rust 监控
Sentry 监控 - Snuba 数据中台本地开发环境配置实战
Sentry 监控 - Snuba 数据中台本地开发环境配置实战
401 0
Sentry 监控 - Snuba 数据中台本地开发环境配置实战
|
数据采集 运维 监控
Alibaba Cloud Toolkit 中SLS插件助力线上服务问题排查
Alibaba Cloud Toolkit 是一款非常优秀的插件,新增SLS日志服务的功能,针对软件开发者日常工作中常见的问题排查场景,将日志服务平台的功能集成到ide当中,省去了不同窗口之间来回切换的时间,大大提高了日常工作的效率
535 0
|
应用服务中间件 Linux PHP
直播平台开发经验分享——直播平台搭建环境配置详解及分析
直播平台开发完成后,接下来就会面临着直播平台搭建的问题。那么直播平台搭建的具体流程是怎样的呢?通常需要遵循以下几个环节:搭建环境配置(LNMP)、Redis配置、创建数据库、web站点搭建、node.js部署、管理后台信息配置等。本篇内容我们先来介绍下LNMP环境配置及Redis配置的流程。
3521 0