假设我们有3种方法:从方法1调用方法2,从方法2调用方法3.方法2和3各自大小为30字节码.另外,假设确定性方法2总是从方法1中恰好调用一次,并且方法3总是从方法2中调用一次.
如果方法2首先被内联,则方法3将直接从方法1的主体调用,并且可以依次内联.如果方法3首先内联到方法2中,则后者的大小将变为大约60个字节码,并且不能内联,因为默认MaxInlineSize阈值是35个字节码.
HotSpot JIT以哪种顺序内联方法:自上而下或下至上?
我最近在Jon Masamitsu的Weblog上看到,大量的方法(8000字节的字节码)不是用HotSpot进行JIT编译的.
所以我的问题是:我如何找出(作为程序员)特定方法有多少字节字节码?
JIT编译器当然似乎知道.我可以从.class文件中提取这条信息吗?