-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