本文介绍有关Java的一些命令行。
用于执行Java的字节码(class)文件。 java Test java org.suren.Test java -cp test.jar;. org.suren.Test
用于编译Java源文件为字节码(class)文件。
可以把字节码(class)文件反汇编,这样可以了解一些Java编译的过程。 [codesyntax lang="java"]
public class Test
{
public static void main(String[] str)
{
System.out.println("hello");
}
}
[/codesyntax] 先把Test.java编译:javac Test.java 然后再反汇编:javap -c -l Test.class,就可以得到下面的内容了。 [codesyntax lang="java"]
Compiled from "Test.java"
public class Test {
public Test();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":
()V
4: return
LineNumberTable:
line 1: 0
public static void main(java.lang.String[]);
Code:
0: getstatic #2 // Field java/lang/System.out:Ljava/
io/PrintStream;
3: ldc #3 // String hello
5: invokevirtual #4 // Method java/io/PrintStream.printl
n:(Ljava/lang/String;)V
8: return
LineNumberTable:
line 5: 0
line 6: 8
}
[/codesyntax]
更多例子请搜索“jnlp”。
更多例子请搜索“JNI入门教程”。
用于检测JVM的内存、线程等使用情况。
更多例子请搜索“jnlp”。
- native2ascii
- jps(JVM Process Status Tool)
-q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启动时传递给主类main()函数的参数 -l 输出主类的全名,如果进程执行的jar包,输出Jar的路径 -v 输出虚拟机进程启动时JVM参数
- jstat(JVM Statistics Monitoring Tool)
用于监视虚拟机各种运行状态信息的命令行工具。
jstat -gcutil 6896
- jinfo(Configuration Infor for Java)
实时地参看和调整虚拟机各项参数。 jinfo -flag MaxPermSize 7780 jinfo -J-d64 -sysprops 7780
- jmap(Memory Map for Java)
用于生成堆转储快照(一般称headdump或者dump文件)。
- jhat(JVM Heap Analysis Tool)
- jstatck(Stack Trace for Java)
用于生成虚拟机当前时刻的线程快照(一般称threaddump或者javacore文件)。