浏览 6707 次
锁定老帖子 主题:Java 查看java字节码(有图)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-02
最后修改:2010-05-23
1 javac –verbose查看运行类是加载了jar文件 HelloWorld演示: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } javac -verbose HelloWorld.java 可以看到编译的时候虚拟机干的事。 java -verbose HelloWord 可以看到虚拟机运行一个程序的时候加载的jar包。 更多内容查看 javac -help 2 javap查看字节码 首先使用javap -help可以看到各种指令,都很好玩,可以试着玩下 这里只演示javap -c和javap -version javap -c HelloWorld 可以查看字节码,从中可以得到各种变量的信息等等 但是javap -version可以看得更加清楚如下 接上图 3 介绍一款查看java字节码的工具jclasslib 打开编译后的文件,如下图,请注意:我不是打开的HelloWorld.class,所以图与上面不符,如果自己想要知道HelloWorld,自己可以去试试 通过它可以查看 1 类的接口 2 类的属性 3 类的方法,方法中的局部变量,方法中使用的Maximun stack depth,Maximum local variables等等 例子:查看字节码可以发现 for (int i = 0; i > _size ; i++) { ObjectA o = new ObjectA(); }与 ObjectA o = null; for (int i = 0; i > _size ; i++) { o = new ObjectA(); }之间的区别,等等 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |