在C/C++中,常用的做法是在經常使用的結構中安排字段聲明,以便將各種大小的字段緊密排列在一起,並儘可能與字邊界對齊。代碼可讀性犧牲了機器效率。對於Java來說,同樣的做法是否值得?現實世界的Java編譯器/虛擬機在內部重新排列它們以便對齊嗎?我應該在Java中安排字對齊的變量聲明嗎?
2
A
回答
1
找到自己的答案的熱點(星期日)JVM:
「對象包裝
對象包裝的功能已經被添加到最小化數據類型的不同尺寸之間的空間浪費這主要是受益在64位環境中,但即使在32位提供了一個小的優勢虛擬機
....(例如字段聲明)
現在,字段重新排序,看起來像這樣:
....(重新排序的字段聲明)
在此示例中,沒有浪費存儲空間。 「
1
如果您擁有運行虛擬機的資源,那麼您可能不需要關心這樣的小細節。至少在典型的服務器端Java應用程序中,該方法通常是爲了清晰和可維護性編寫代碼,並且相信編譯器和虛擬機能夠關注效率。當然,理由當然。
相關問題
- 1. 當我在Java中聲明它時,我應該爲變量賦值嗎?
- 2. 我應該在web.config中聲明https嗎?
- 3. 在C++中應該避免變量聲明嗎?
- 4. 我可以在Java中更改變量的聲明類型嗎?
- 5. 我可以在Java的泛型聲明中使用變量嗎?
- 6. 我應該在asp.net中聲明會話變量
- 7. Java聲明變量
- 8. Java變量聲明
- 9. java變量聲明
- 10. 在Code Igniter中,我應該在哪裏聲明我的全局變量?
- 11. 我必須在PHP中聲明我的變量嗎?
- 12. 我應該在聲明上實例化收集字段嗎?
- 13. 應該將「initCount」變量聲明爲「volatile」嗎?
- 14. 我應該如何在短期內排列我的聲明?
- 15. 我的變量應該聲明爲什麼類型?
- 16. 在Java bean中聲明枚舉變量
- 17. 在Java中聲明全局變量
- 18. 我應該使用成員變量還是在函數內聲明變量?
- 19. 使用AS3,我應該只在需要時聲明全局變量或函數內的變量嗎?
- 20. java中的類變量聲明位置
- 21. 什麼時候應該在PHP類中聲明變量?
- 22. 我應該聲明變量每個PHP頁面?
- 23. PHP |我應該分配速記如果聲明變量
- 24. 應該在模塊級別聲明類特定的「常量」嗎?
- 25. 我不應該在getter和setter中使用變量變量嗎?
- 26. 我可以同時在VBA中聲明和分配變量嗎?
- 27. 我可以在Objective-C switch語句中聲明變量嗎?
- 28. 程序集 - 我可以在程序中聲明變量嗎?
- 29. 我可以在fortran模塊中聲明意圖變量嗎?
- 30. 我可以在for循環中聲明局部變量嗎?
鏈接已死;我在oracle.com上找不到任何類似的東西。 – Raedwald 2013-05-29 11:18:05