我真正想知道的是:假設我會在Java中創建一個名爲「Family」的類,並且每個家庭都會有一些「familyMembers」作爲成員變量,是否會花費更多的內存來聲明每個「家庭成員」他們是什麼「家庭」的一部分?換句話說,史密斯家族有3個成員,爸爸,媽媽和孩子,是否會花費更多的回憶讓家庭「史密斯」成爲每個家庭的成員變量成員:爸爸,媽媽和孩子?Java:更多地引用一個變量會花費更多的內存嗎?
2
A
回答
1
一切都花費一些東西。如果添加另一個類變量,它將以兩種方式付費。首先加載類中的一些字節,然後爲每個引用添加另外4個字節。 這是因爲你的類定義必須加載到內存中(永久的,permgen空間),因爲每個引用在你的堆棧中是唯一的,每個引用4個字節。
0
0
是,參考到家庭,存儲在家庭成員時,增加一個家庭成員的實例大小所需的存儲器由參考大小決定。
請注意,實際上,這並不一定意味着更多的內存消耗,因爲Java VM使用了各種內存管理技術。
相關問題
- 1. 使用更多方法加載類會花費更多內存嗎?
- 2. 在多個可用區域運行ELB會花費更多嗎?
- 3. C++ STL向量會保留太多的容量會花費大量內存嗎?
- 4. Python:這些例子中的一個會浪費更多的內存嗎?
- 5. 使用printf(「something」)或system(「echo something」)會花費更多的處理能力嗎?
- 6. JRebel花費太多時間來更新
- 7. 花費更多時間加載頁面
- 8. 使用Task.Delay()會花費多少成本?
- 9. 更多的內存
- 10. 更新同一個變量多時間
- 11. Ember.js 2.使用嵌套模板會消耗更多內存嗎?
- 12. 在java中尋求更多的內存
- 13. 多線程是否會導致每個任務花費更長的時間?
- 14. 將getter值保存在變量中而不是多次調用會更好嗎?
- 15. iPhone Android:內存處理,哪一個使用更多內存?
- 16. MongoDB--花費更多時間進行第一次讀取比SQL
- 17. 每次啓動一個新變量或從另一個java類中調用一個變量會更好嗎?
- 18. Web服務器容量規劃:更多的內核與更多的內存
- 19. Spark 1.6.3 rdd.foreach用廣播變量花費太多時間
- 20. 哪個會使用更多的內存? Array vs SQLite(Android)
- 21. 在Android中使用多個SpanObjects或多個TextViews會更好嗎?
- 22. 爲什麼Java不斷地吃更多的內存?
- 23. 如何可靠地爲Java提供更多的內存?
- 24. 用af_setImageWithURL在UICollectionViewCell中設置圖像花費太多內存
- 25. Java applet花費太多時間加載
- 26. 我可以爲多個向量使用一個內存池嗎?
- 27. 當進程內存大小更大時,更多的TLB會丟失嗎?
- 28. 使用Express的節點:存儲會話變量,多個response.status更新
- 29. 如何用MongoDB中的一個值更新多個變量?
- 30. 花費更多時間使用數據表獲取記錄
這不是很清楚;你能提供一些代碼片段來說明你在說什麼嗎? –
提供代碼快照將更好地解釋probkem –
是的,類中的任何新(非靜態)對象引用都需要額外的4個字節。 – spectre