- javac指令默认在当前目录下寻找源文件,与包无关。也可以使用分隔符方式加载。
- java指令默认在当前目录下加载 主类,因为classpath默认为当前路径。如果配置了classpath,则按照classpath顺序下,找主类。
- 虚拟机加载类时,优先去JavaAPI中查找,然后再去classpath中查找。
- 编译器编译源文件时,先验证import指令是否正确(语法,包路径,类路径是否正确),其次全类名和上述查找方式相同,对于未指定类名类,看做同时在当前包下、java.lang包下、import加载特定类下查找类文件,查找到一个则结束,查找到多个则报错,没有查找到再再import指令使用通配符方式下查找类--查找到多个或没查找到都报错。
- 当查找类时,由于外包是类文件与源文件同名,可以检查更新情况,及时更新编译要加载的源文件;对于本包下类,编译器搜索所有源文件,找出这个不是公共类的类对应的文件的更新情况。(对于有源文件的情况下)
java -classpath 类路径 MyProg //或者使用shell脚本 set classpath=类路径



