假設我們有以下類:大多數JVM是否爲未使用的方法分配內存?
class DoubleOhSeven {
public static void doSomethingClassy();
public static void neverDoThisClassy();
}
class Dude {
public void doSomething();
public void neverDoThis();
}
public class Party {
public static void main(String[] args){
DoubleOhSeven.doSomething();
Dude guy = new Dude;
guy.doSomething();
}
}
當然,所有的方法都將被編譯到各自.class
:做未使用的靜態/實例方法佔據在運行時內存?那麼未使用的繼承或導入方法呢?
你的意思是來自某些其他課程的反思性調用? – fny
@faraz或者那個類本身 - 因爲反射方法調用根據定義在運行時決定,而不是編譯時間,所以編譯器無法知道什麼反射方法會被調用或何時調用。 – berry120