0、java编译和运行时:
首先会建立一个类路径引用表(也就是classpath,可以是-classpath选项,也可以是CLASSPATH环境变量),然后利用类路径引用表和类中的import、package相关信息获取涉及到的类的绝对路径。
1、javac xx.java
将*.java文件编译成*.class文件,
编译有两种情况:
1)编译命令行中的xx.java文件,这里不会用到classpath中的路径来构建文件的绝对路径,而是需要直接定位到该文件。即我们要么在dos下把目录转换到xx.java文件所在目录,要么写出其相对路径、绝对路径(.\...\xx.java或者e:\...\xx.java)。
2)在编译某一个文件时,文件中用到了其他类文件,但是该文件不是.class而是.java,此时就要编译这个文件,此时也就会用到classpath(或者说是类路径引用表)来构建文件的绝对路径
2、java xx
执行xx类,xx为java程序的主类,当位于包中的时候应该 :包名.xx
3、-classpath 选项,CLASSPAHT环境变量都是为了声明要在那些路径寻找用到的*.class文件(没有.class时会用.java编译出来)。