我的問題是是否使具有靜態成員的對象的多個實例影響性能。每次實例化類時是否爲每個靜態變量分配了新內存?Java靜態屬性會影響性能嗎?
此外,我想知道導入一個類對性能有什麼樣的影響。例如,導入整個類只是爲了引用其中的一個變量是不是一個好主意?或者沒有關係?
我在遊戲工作,所以這就是爲什麼我擔心優化
我的問題是是否使具有靜態成員的對象的多個實例影響性能。每次實例化類時是否爲每個靜態變量分配了新內存?Java靜態屬性會影響性能嗎?
此外,我想知道導入一個類對性能有什麼樣的影響。例如,導入整個類只是爲了引用其中的一個變量是不是一個好主意?或者沒有關係?
我在遊戲工作,所以這就是爲什麼我擔心優化
是,靜態成員,以節省內存,因爲有每Static members memory efficiency類的數據只是一個單一的副本。
另外使用import語句並不能真正導入類。它只給你一個訪問課程的捷徑。在導入類時,您不必使用它的所有程序包名稱來編寫類的全限定名稱。因此,例如,不要編寫java.util.List
,您只需在import java.util.List;
中導入類後,即可編寫List
。
靜態字段屬於類,而不屬於類的實例。所以創建一個實例不會爲靜態成員分配任何東西。他們只是保持現有價值。
導入在運行時不存在。它們只用於允許您在源代碼中編寫List而不是java.util.List。如果您只使用了限定類名並刪除了所有導入,則編譯器生成的字節碼將完全相同。
非常感謝,正是我一直在尋找的 –
'import'語句對程序的性能沒有任何影響。它們只是編譯時的事情;如果你導入一個類或者如果你使用它的完全合格的類名,你的字節碼不會有所不同。 – Jesper
使你的程序正常工作。然後看性能。 「過早優化」引起了許多問題。 – CPerkins