天天看點

對象占用空間

1、對象分為字段和方法,字段分為:static,non-static。方法分為static,non-static,virtual

2、static字段,放在靜态存儲區,所有的對象共享。non-static字段,每個對象擁有自己的一份記憶體copy

3、static方法,non-static方法,virtual方法都放在代碼區,所有的對象共享。調用方法的時候,如何區分方法内的資料是那個對象的呢?

  方法内的資料是方法綁定對象的資料,因為調用方法的時候,需要指定對象。對于virtual方法,還要增加一個額外指針,用于在運作時,根據對象的真實類型綁定方法。注意:就算有多個virtual方法,也隻有一個額外指針。

下一篇: yum,yum源