用javac命令将源码编译成.class文件, 在调用java 命令让程序执行.
问题是:系统是如何找到并调用javac.exe和java.exe两个应用程序的?
打个比方,平时我们运行某一程序,比如魔兽,酷狗音乐,都是先找到它们的应用 程序war3.exe和kugou.exe的所在位置,然后双击运行。那么操作系统是如何自动找到javac.exe和java.exe的位置呢?
比如安装了这个数据库,想要在任何目录下执行sqlite3命令,只需要配置环境变量就可以了
通过sqlite3这个命令(在任何目录下)创建了数据库
这样就找到了这2个命令
claapath作用:java命令 从哪里加载字节码文件执行
把编译好的class文件放到这个目录中来
执行java命令
classpath环境变量的作用--告诉java虚拟机所有的可执行文件.class都在哪
它的值也是由目录组成,它的作用在于告诉Java执行环境,在哪些目录下可以找到所要执行的Java程序所需要的类或者包。
比如要运行一个名为Test.class的文件,而这个程序调用了另一个Link.class文件的内容,那么系统必须知道 Link.class文件的位置才能调用Link.class文件。如果Link.class文件的目录在classpath环境变量的值中,就可以找到了。
java_home环境变量---使得其他相关环境变量的配置更加方便简
背景
在cmd中想要执行net start mysql等操作命令,必须先cd到bin文件所在目录,如D:mysqlmysql-x.x.xx-winx64in,那么每次打开mysql 都要输入那么多指令切换目录是不是很讨厌?怎么弄呢?
原理
当你输入一个指令,比如:net start mysql,那系统怎么知道这个指令有没有呢?系统做了什么事?其实系统是在当前目录和系统环境变量path里面的路径全部查找一遍,找到第一个为准,找不到就报错。所以我们要不每次都切换cmd目录,要不就设置环境变量,以后就不需要再切换cmd路径了。简单的说环境变量里面的path路径这东西,就是cmd系统的查找目录路径