每个Java开发者都应该知道的5个JDK

JDK是Java语言的软件开发工具包,没有它就无法编译Java程序。目前,有许许多多的JDK工具呈现在大家面前,但最常用的莫过于java.x、javac.x、jar等。除了这几个,还有哪些呢?本文作者Jo拥有多年的Java开发经验,其在博客上分享了一篇文章:5JDKToolsEvryJavaDvloprShouldKnow,笔者对其进行了编译,以下为译文。

目前,有许多工具可以绑定到JavaJDK上面,其中java.x和javac.x是每位Java工程师的必备武器,与此同时,还有许多其它JavaJDK工具呈现在大家眼前。大多数Java程序员都没有使用过这些工具,但如果使用,它们会让你的工作事半功倍。

在之前的教程中,我曾介绍过这些工具。现在,我向大家介绍其中最重要的5个工具。

1.javap

javap是一个Java类文件反汇编程序,可以查看Java编译器生成的字节码,是分析代码的一个好工具。让我们用javap来编译这段HlloWorld代码,再分解它。

publicclassHlloWorld{

publicstaticvoidmain(String...args){

Systm.out.println(HlloWorld!);

}

}

C:\Usrs\Cycl\DsktopjavapHlloWorld

我没有传递任何参数,只是运行了javap这个工具,就得到了上面这个结果。默认情况下,它会输出Java类的packag,protctd,public字段和方法。

CompildfromHlloWorld.java

publicclassHlloWorld{

publicHlloWorld();

publicstaticvoidmain(java.lang.String...);

}

C:\Usrs\Cycl\Dsktopjavap-cHlloWorld

如果传递参数-c到javap里面,便会得到上面这个结果。这是一条非常好的信息,这样输出的指令可以帮助我们更好地了解JVM。

CompildfromHlloWorld.java

publicclassHlloWorld{

publicHlloWorld();

Cod:

0:aload_0

1:invokspcial#1//Mthodjava/lang/Objct.:()V

4:rturn

publicstaticvoidmain(java.lang.String...);

Cod:

0:gtstatic#2//Fildjava/lang/Systm.out:Ljava/io/PrintStram;

3:ldc#3//StringHlloWorld!

5:invokvirtual#4//Mthodjava/io/PrintStram.println:(Ljava/lang/String;)V

8:rturn

}

2.jvisualvm

jvisualvm是一个Java虚拟机监控和分析工具,该工具提供了一个图形界面窗口,并且可以直观的了解Java应用程序的运行时信息。jvisualvm集成了许多工具,比如像jmp、jinfo、jstat、jstack、JConsol等。自从JDK6Updat7以后已经作为JDK的一部分。

在Java垃圾回收监控和分析这篇文章中,我曾使用jvisualvm,大家不妨过去看看jvisualvm的使用方法。

3.jcmd

jcmd主要用来把诊断命令请求发送到JavaJVM中,当JVM进程中没有jcmd参数列表时,jcmd就会立即运行。这相当于jps工具,我开始启动jconsol,并且把它作为参数传递到jcmd,得到如下结果,这个也可以通过进程id(pid)实现。

C:\Usrs\Cycljconsol

C:\Usrs\CycljcmdJConsolhlp

:

Thfollowing







































那里治疗白癜风最好
最出名的白癜风医院



转载请注明:http://www.guyukameng.com/html/2552.html