在類的加載過程中的解析階段,Java虛擬機會把類的二進制數據中的符號引用 替換為 直接引用,如Worker類中一個方法:
public void gotoWork(){ car.run(); //這段代碼在Worker類中的二進制表示為符號引用 }
在Worker類的二進制數據中,包含了一個對Car類的run()方法的符號引用,它由run()方法的全名 和 相關描述符組成。在解析階段,Java虛擬機會把這個符號引用替換為一個指針,該指針指向Car類的run()方法在方法區的內存位置,這個指針就是直接引用。
摘自孫衛琴《Java面向對象編程》