上次我们已经描述过javac的结构是怎样的,今天我们来简要说明一下javac的标准程序和非标准程序包括了哪些内容。
首先,我们需要知道的是,javac标准的程序主要分为以下几类:
1.-classpath类路径,设置用户类路径,它将覆盖CLASSPATH环境变量中的用户类路径。但如果没有指定CLASSPATH且没有指定-classpath,那么用户类路径由当前目录构成。如果没有指定-sourcepath选项,则将在用户类路径中查找类文件和源文件;
2.-d目录,设置类文件的目标目录。如果某个类是一个包的组成部分,则javac将把该类文件放入反映包名的子目录中,必要时创建目录。如果没有指定-d选项,则javac将把类文件放到与源文件相同的目录中。需要注意的是-d选项指定的目录不会被自动添加到用户类路径中;
3.-deprecation,显示每种不鼓励使用的成员或类的使用或覆盖的说明。没有给出-deprecation选项的话,javac将显示这类源文件的名称,也就是这些源文件使用或覆盖不鼓励使用的成员或类;
4.-encoding,设置源文件编码名称,例如EUCJIS/SJIS。若未指定-encoding选项,则使用平台缺省的转换器;
5.-g,生成所有的调试信息,包括局部变量。缺省情况下,只生成行号和源文件信息;
6.-nowarn,禁用警告信息;
7.-O,优化代码以缩短执行时间。使用-O选项可能使编译速度下降、生成更大的类文件并使程序难以调试;
8.-sourcepath源路径,指定用以查找类或接口定义的源代码路径。与用户类路径一样,源路径项用分号(;)进行分隔,它们可以是目录、JAR归档文件或ZIP归档文件。如果使用包,那么目录或归档文件中的本地路径名必须反映包名;
8.-verbose,冗长输出。它包括了每个所加载的类和每个所编译的源文件的有关信息。
下面再列举一些非标准的程序:
1.-X,显示非标准选项的有关信息并退出;
2.-Xdepend,递归地搜索所有可获得的类,以寻找要重编译的最新源文件。该选项将更可靠地查找需要编译的类,但会使编译进程的速度大为减慢;
3.-Xstdout,将编译器信息送到System.out中。缺省情况下,编译器信息送到System.err中;
4.-Xverbosepath,说明如何搜索路径和标准扩展以查找源文件和类文件;
5.-J选项,将选项传给javac调用的java启动器。
以上就是关于javac标准程序和非标准程序的主要内容。想要了解更多java基础,敬请关注奇Q工具网。
推荐阅读: