簡體   English   中英

自定義包裝器類比Java包裝器類占用更多/更少的空間嗎?

[英]Do custom wrapper classes take more/less space than Java wrapper classes?

Public class A 
{
    int a;

} 

java.lang.Integer

還是Longs,Doubles等。它們占用相同的內存量嗎? 還是更多/更少? 如果我什么都不缺,答案應該是一樣的...

包裝器類的目的是能夠通過將原語包裝到Integer對象中來將其視為對象,允許您從其調用方法,或將其作為需要Object而不是原語的參數的參數值傳遞。

不建議像現在那樣為原始圖元創建自己的包裝器,因為這將不允許對原始圖元進行自動裝箱和拆箱 您正在失去更多的功能,但是如果我們在談論內存,則可以使用Integer而不是個人包裝器來節省更多的時間,因為存在用於整數對象的常量池,允許您重用pre -池中存在的值(如果存在) ,而不是每次都創建一個新對象。 您需要實現flyweight模式才能實現相同類型的內存節省系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM