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