-2
A
回答
2
借用此answer。該程序打印空字符串的32個字節(和字符串池中的「」爲0)。
public static void main(String... args) {
long free1 = free();
String s = "";
long free2 = free();
String s2 = new String("");
long free3 = free();
if (free3 == free1) System.err.println("You need to use -XX:-UseTLAB");
System.out.println("\"\" took " + (free1 - free2) + " bytes and new String(\"\") took " + (free2
- free3) + " bytes.");
}
private static long free() {
return Runtime.getRuntime().freeMemory();
}
此外,請檢查此answer。
+0
字符串實際佔用的內存量可能因運行時間而異,具體取決於優化。 –
相關問題
- 1. 如何將字符串文字存儲在內存中的c + +?
- 2. 如何在Java中存儲long/double/int內部的字符串
- 3. 如何在.NET中的內存中存儲字符串和字符類型?
- 4. 在字符串內存儲字符串?
- 5. MIPS:如何在動態內存(堆)中存儲字符串
- 6. Visual Basic如何在內存中存儲字符串?
- 7. 如何使用動態內存在MIPS中存儲字符串?
- 8. 存儲字符串值在Java中
- 9. Java:在Trie中存儲子字符串
- 10. 在字符串中存儲字符串
- 11. 如何在8086中存儲字符串
- 12. 爲什麼字符串存儲在Java中的字符串池?
- 13. 如何在存儲過程中修剪字符串的空格?
- 14. 如何防止在內部存儲器中存儲重複的字符串
- 15. 如何將字符串存儲在獨立存儲設置中?
- 16. 如何在谷歌雲數據存儲中存儲字符串[] []
- 17. 存儲在內存中的字符串常量在哪裏?
- 18. 如何解析存儲在字符串中的Java代碼
- 19. 如何在Java中存儲唯一的字符串對?
- 20. 如何創建並存儲在Java中的字符串?
- 21. 如何在appsettings中存儲帶有html內容的字符串
- 22. 如何將空字符串存儲在char數組中?
- 23. 如何在字符串標籤中存儲字符串
- 24. 常量字符串將存儲在內存中的位置?
- 25. 字符串的方式存儲在內存中
- 26. Java內存在字符串[]中對多個字符串使用
- 27. 如何將字符串對象存儲在Java ArrayList中
- 28. 如何捕獲第一段並在java中存儲字符串
- 29. 如何在java android中以字符串動態存儲值?
- 30. 存儲字符串中有
0長度並不意味着0內存佔用。 –
有參考內存和參考指向堆中的內存。 –
與存儲其他字符串的方式相同,即帶'char []'字段的'String'對象。沒有什麼特別的空字符串,它只是一個長度爲0的'char []'。 – Andreas