1) path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行Java文件,但必须把完整的路径写出来,如C:\Program Files\Java\jdk1.8.0_121\bin\javac TestClass.java。path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径;而java的各种操作命令是在其安装路径中的bin目录下,所以在path中设置了JDK的安装目录后就不用再把java文件的完整路径写出来了,它会自动去path中设置的路径中去找;
2)classpath是指定在程序中使用的类(.class)文件的所在的位置,classpath的设置告诉编译器该到哪里去找到这个类(前提是你在classpath中设置了这个类的路径)和import对应;
3)在dos下试验后的区别:当两个路径都正确的设置时,classapth会首先在指定的路径下查找需要执行的文件,如果路径结尾有“;”,则会继续在当前目录下查找一次,如果没有“;”结尾则只在指定目录查找不会再当前目录查找。例如:当前目录为D:\时"classpath=c:\"与“classpath=c:\;”的区别;前者结尾处没有分号那么java虚拟机就不会再当前目录D:\盘下查找。而path无论路径有无设置都会先在当前目录下查找。