【发布时间】:2012-07-05 13:10:34
【问题描述】:
我最近在Jon Masamitsu's Weblog 上读到,巨大的方法(8000 字节的字节码)不是用 HotSpot 进行 JIT 编译的。
所以我的问题是:我如何(作为程序员)找出特定方法有多少字节的字节码?
JIT 编译器当然似乎知道。我可以从.class 文件中提取这条信息吗?
【问题讨论】:
我最近在Jon Masamitsu's Weblog 上读到,巨大的方法(8000 字节的字节码)不是用 HotSpot 进行 JIT 编译的。
所以我的问题是:我如何(作为程序员)找出特定方法有多少字节的字节码?
JIT 编译器当然似乎知道。我可以从.class 文件中提取这条信息吗?
【问题讨论】:
您可以使用javap -c mypackage.MyClass 转储您的类的字节码(并查看每个方法的大小)
一般来说,在达到此限制之前,您应该知道方法太大而无法阅读和理解。恕我直言,它更多的是生成代码的问题。顺便说一句,方法中有 65536 个字节的硬限制。
【讨论】: