一.javac.exe与java.exe:
a.含义:
javac:编译器
java:虚拟机
b.查看版本命令:
javac -version
java -version
c.安装完成jdk后,出现"在CMD中,直接使用java可以,但是javac不行"?
--原因:在windows系统中,当直接在CMD中打开可执行文件时,系统查找该程序的优先级路径如下:
1.当前路径;
2.系统注册表;
3.path环境变量;
(注:当上一级的路径找不到才会搜索下一级路径)
d.确保java文件能够正确编译执行的必须前提:
编译器的版本不能高于虚拟机的版本!
二.path与classpath
1.path:
a.用途:系统寻找可执行文件(.exe等)的搜索路径
b.安装jdk后,需要设置path环境变量
c.编译.java文件的方法:
--进入到文件所在路径,直接编译即可:javac A.class
--最快捷的方法: javac F:\code\A.class (注:这种方法不适用于classpath)
2.classpath:
a.用途:java虚拟机寻找.class字节码文件的搜索路径
b.在jdk1.5开始,
classpath若是没有配置,则默认是当前目录;否则,以实际配置路径为准.
c.在jdk1.5之前,
classpath若是没有配置,是无法执行.class文件的,此时可以通过新建名为"classpath"的环境变量,设置其值为"."
d.执行.class字节码文件的方法:
第一种方法,进入到正确路径,直接使用java编译
第二种方法,设置classpath后,进行java编译
第三种方法,不需设置classpath,直接使用: java -cp F:\code\A
三.实际运用:
在D:\myCode\目录下,有一个TestDemo.java文件,内容如下:
public class TestDemo
{
public static void main(String [] args)
{
System.out.println("Run......");
}
}
需求一:如何正确编译该.java文件?
(前提:你已经正确设置了path环境变量;接下来就是正确的使用javac命令)
解答一:打开CMD
1.输入:d: ,回车
2.输入:cd myCode ,回车
3.输入:javac TestDemo.java ,回车,完成编译。
解答二:打开CMD
1.输入:javac D:\myCode\TestDemo.java ,回车,完成编译。
需求二:如何正确执行上面生成的.class类文件?
(若是没有设置classpath,默认就是当前目录)
解答一:
4.输入:java TestDemo ,回车,完成执行。
解答二: (也可以使用:-cp命令,即:java -cp D:\myCode\ TestDemo,完成执行 ;而且使用-cp比设置classpath的优先级高)
2.输入:set classpath=D:\myCode\;%path% ,回车
3.输入:java TestDemo.java ,回车,完成执行。
需求三:
现在F:\itcast-0321\code\day01\目录,有TestDemo.java文件,内容为:
package cn.itcast;
public class TestDemo
{
public static void main(String [] args)
{
System.out.println("Run......");
}
}
需求三:如何正确编译执行该.java文件?
解答:打开CMD,
1. 输入:F:\ ,回车
2. 输入:cd itcast-0321\code\day01 ,回车
3. 输入:javac –d . TestDemo.java,回车
4. 输入:java cn.itcast.TestDemo,回车,完成编译运行。