verbose
查看编译细节,可以告诉你编译器需要哪些Java类,来生成编译的类文件,以及编译要花多长时间
> javac -verbose Helloworld.java
[解析开始时间 Helloworld.java]
[解析已完成时间 47ms]
[源文件的搜索路径: [., C:/Program Files/QuickTime/QTSystem/QTJava.zip, C:/Java/
jdk1.5.0_06/lib/dt.jar, C:/Java/jdk1.5.0_06/lib/tools.jar, C:/Java/jdk1.5.0_06/b
in]]
[类文件的搜索路径: [C:/Java/jdk1.5.0_06/jre/lib/rt.jar, C:/Java/jdk1.5.0_06/jre
/lib/jsse.jar, C:/Java/jdk1.5.0_06/jre/lib/jce.jar, C:/Java/jdk1.5.0_06/jre/lib/
charsets.jar, C:/Java/jdk1.5.0_06/jre/lib/ext/dnsns.jar, C:/Java/jdk1.5.0_06/jre
/lib/ext/localedata.jar, C:/Java/jdk1.5.0_06/jre/lib/ext/sunjce_provider.jar, C:
/Java/jdk1.5.0_06/jre/lib/ext/sunpkcs11.jar, ., C:/Program Files/QuickTime/QTSys
tem/QTJava.zip, C:/Java/jdk1.5.0_06/lib/dt.jar, C:/Java/jdk1.5.0_06/lib/tools.ja
r, C:/Java/jdk1.5.0_06/bin]]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/Object.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/String.class)]
[正在检查 HelloWorld]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/System.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/io/PrintStream.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/io/FilterOutputStream.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/io/OutputStream.class)]
[已写入 HelloWorld.class]
[总时间 469ms]
=======================================================================
javadoc
生成文档
> javadoc HelloWorld.java
正在装入源文件 HelloWorld.java...
正在构造 Javadoc 信息...
标准 Doclet 版本 1.5.0_06
正在构建所有软件包和类的树...
正在生成 HelloWorld.html...
正在生成 package-frame.html...
正在生成 package-summary.html...
正在生成 package-tree.html...
正在生成 constant-values.html...
正在构建所有软件包和类的索引...
正在生成 overview-tree.html...
正在生成 index-all.html...
正在生成 deprecated-list.html...
正在构建所有类的索引...
正在生成 allclasses-frame.html...
正在生成 allclasses-noframe.html...
正在生成 index.html...
正在生成 help-doc.html...
正在生成 stylesheet.css...
================================================================================
jdb
Java调试器,用于监视和控制Java程序的执行,以便发现错误。jdb可以在任何时刻停止程序的运行,从
而检查程序的变量及其内部操作。
==============================================================================
javap
分析一个被编译类文件的程序代码,并确定其可访问的变量和函数。javap生成一个报告,不仅能显示可用的函数和变量,而且显示了哪个程序实际被调用,包括很底层的使用。
不带参数,输出会显示类是从哪个文件编译来的,并显示可访问的函数和类
> javap HelloWorld
Compiled from "Helloworld.java"
public class HelloWorld extends java.lang.Object{
public HelloWorld();
public static void main(java.lang.String[]);
}
带参数,输出会显示VM执行类时采用的每个步骤
> javap -c HelloWorld
Compiled from "Helloworld.java"
public class HelloWorld extends java.lang.Object{
public HelloWorld();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3; //String Hello World!
5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/Str
ing;)V
8: return
}
查看编译细节,可以告诉你编译器需要哪些Java类,来生成编译的类文件,以及编译要花多长时间
> javac -verbose Helloworld.java
[解析开始时间 Helloworld.java]
[解析已完成时间 47ms]
[源文件的搜索路径: [., C:/Program Files/QuickTime/QTSystem/QTJava.zip, C:/Java/
jdk1.5.0_06/lib/dt.jar, C:/Java/jdk1.5.0_06/lib/tools.jar, C:/Java/jdk1.5.0_06/b
in]]
[类文件的搜索路径: [C:/Java/jdk1.5.0_06/jre/lib/rt.jar, C:/Java/jdk1.5.0_06/jre
/lib/jsse.jar, C:/Java/jdk1.5.0_06/jre/lib/jce.jar, C:/Java/jdk1.5.0_06/jre/lib/
charsets.jar, C:/Java/jdk1.5.0_06/jre/lib/ext/dnsns.jar, C:/Java/jdk1.5.0_06/jre
/lib/ext/localedata.jar, C:/Java/jdk1.5.0_06/jre/lib/ext/sunjce_provider.jar, C:
/Java/jdk1.5.0_06/jre/lib/ext/sunpkcs11.jar, ., C:/Program Files/QuickTime/QTSys
tem/QTJava.zip, C:/Java/jdk1.5.0_06/lib/dt.jar, C:/Java/jdk1.5.0_06/lib/tools.ja
r, C:/Java/jdk1.5.0_06/bin]]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/Object.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/String.class)]
[正在检查 HelloWorld]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/System.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/io/PrintStream.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/io/FilterOutputStream.class)]
[正在装入 C:/Java/jdk1.5.0_06/jre/lib/rt.jar(java/io/OutputStream.class)]
[已写入 HelloWorld.class]
[总时间 469ms]
=======================================================================
javadoc
生成文档
> javadoc HelloWorld.java
正在装入源文件 HelloWorld.java...
正在构造 Javadoc 信息...
标准 Doclet 版本 1.5.0_06
正在构建所有软件包和类的树...
正在生成 HelloWorld.html...
正在生成 package-frame.html...
正在生成 package-summary.html...
正在生成 package-tree.html...
正在生成 constant-values.html...
正在构建所有软件包和类的索引...
正在生成 overview-tree.html...
正在生成 index-all.html...
正在生成 deprecated-list.html...
正在构建所有类的索引...
正在生成 allclasses-frame.html...
正在生成 allclasses-noframe.html...
正在生成 index.html...
正在生成 help-doc.html...
正在生成 stylesheet.css...
================================================================================
jdb
Java调试器,用于监视和控制Java程序的执行,以便发现错误。jdb可以在任何时刻停止程序的运行,从
而检查程序的变量及其内部操作。
==============================================================================
javap
分析一个被编译类文件的程序代码,并确定其可访问的变量和函数。javap生成一个报告,不仅能显示可用的函数和变量,而且显示了哪个程序实际被调用,包括很底层的使用。
不带参数,输出会显示类是从哪个文件编译来的,并显示可访问的函数和类
> javap HelloWorld
Compiled from "Helloworld.java"
public class HelloWorld extends java.lang.Object{
public HelloWorld();
public static void main(java.lang.String[]);
}
带参数,输出会显示VM执行类时采用的每个步骤
> javap -c HelloWorld
Compiled from "Helloworld.java"
public class HelloWorld extends java.lang.Object{
public HelloWorld();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3; //String Hello World!
5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/Str
ing;)V
8: return
}