[英]Does having more methods in a class mean that object uses more memory at runtime
假設我有一個ClassBig
,里面有100個方法,第二個只有10個方法ClassSmall
當我在運行時有對象時
ClassBig big = new ClassBig();
ClassSmall small = new ClassSmall();
較大的類是否占用更多的內存空間?
如果兩個類都包含相同的方法,那么較大的類是否需要更長的時間來執行它?
類的實例的內存中表示主要是它的內部狀態加上指向類本身的內存表示的指針。 實例方法的內部表示比您在類定義中指定的參數多一個 - 隱式的this
引用。 這就是我們只能存儲實例方法的一個副本,而不是每個實例的新副本。
因此,具有更多方法的類將比具有更少方法的類占用更多內存(代碼必須在某處),但是具有更多方法的類的實例將使用相同數量的內存,假設類具有相同的數據成員。
執行時間不受類中其他方法數量的影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.