How to view Java compiled code
我有这个班的家长
1 2 3 4 5 6 7
| class ClassParent<T> {
public void set(T t)
{
//setter code
}
} |
然后我让这个班上的孩子扩展班上的家长
1 2 3 4 5 6 7
| class ClassChild extend ClassParent <String > {
public void set (String str )
{
//setter code
}
} |
号
正在实例化ClassChild类的新实例。
1
| ClassParent<String> child = new ClassChild(); |
显然,为了保存多面体,Java编译器将在EDCOX1×0类中创建一个桥接方法。我的问题是,在我使用javac命令编译代码之后,我想看看编译后的代码是什么样子的,但我不知道该怎么做。我用记事本+打开了.class文件,但我只是看到了一些胡言乱语。如何查看编译后的代码是我的问题。我对编程是个新手。谢谢你
- 记事本++中的胡言乱语是编译后的代码。它是二进制的。
- 也许我的问题让我看起来很傻。我知道这是编译后的代码,但我读过几篇文章,我看到人们发布的编译后的代码和我看到的不一样,我大部分时间只看到notepad++中的黑色方块。
- 是关于搜索工具吗?
- 这是一个完全合法的问题,标记为副本,有两个问题建议。但是,两个建议问题中的一个被标记为非主题。另一个建议的问题本身标记为重复。它提出的问题被标为非主题。如果我可以投票决定在哪里做,我会把这个问题标记为非封闭副本,并让它独立存在。下面的问题和建议答案都很有用。
使用一个反编译程序。如果您使用Eclipse,请安装jadclipse或查看这个独立版本。网址:http://jd.benow.ca/您还可以使用javap来分解类文件http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html
- 哦,这就是我要找的。谢谢您。不幸的是,我正在使用Netbeans。
- Netbeans还有一个解压程序,我不知道你有什么版本,但是你可以在plugins.netbeans.org/plugin/1177/nbjad上找到ont。
- 哦,我去看看。
如果希望看到已编译类的反汇编,那么可以使用javap。请参见:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html
如果您正在寻找编译器在编译期间使用的中间代码,我不可能看到这一点。