在java中有字符串文字池的概念。如果我没有在我的代码中创建任何字符串,这个内存池对我来说是浪费。我怎样才能使用这个内存区域,而不是保留字符串文字池。字符串文字内存利用率
1
A
回答
0
2
没有“字符串文字池”;字符串文字是interned,但这意味着它们只是堆上的普通对象。他们可能会被引用很多,并以这种方式节省内存,但从根本上说,它们与其他任何对象没有区别。
如果您的程序中没有字符串文字(并且您没有调用String.intern
),那么JVM不会为此分配堆内存。没有涉及“隐藏”的内存区域,您不需要做任何事情来“访问它”。
1
我不认为这是有道理的。无论如何,从理论上讲,字符串池是在Java堆的permgen区域。这与JVM存储类的内存相同。默认情况下(至少对于Oracle HotSpot JVM)它是64 M.您可以尝试使用两个HotSpot JVM选项配置此区域:-XX:MaxPermSize和-XX:PermSize。对象越少,内存越少。
+0
+1注意:从Java 7开始,字符串位于堆(outisde perm gen)上。 – assylias 2013-02-15 11:27:10
相关问题
- 1. 高效的内存利用率?切换与字符串的情况下
- 2. 在字符串内存储字符串?
- 3. GDI +内存利用率
- 4. 字符串格式利用率:设置负值=“-1”使用%n
- 5. 字符串内存分配
- 6. Java内存在字符串[]中对多个字符串使用
- 7. 字符串中的字符频率
- 8. 如何将字符串文字存储在内存中的c + +?
- 9. 高交换内存利用率
- 10. CouchDB与MongoDB(内存利用率)
- 11. 字符串和字符串缓冲区内存概念
- 12. Wrtiting字符串内存流 - 指向字符串的指针
- 13. 字符串内存分配和字符串池概念
- 14. 蟒利用()上的字符串空间
- 15. 如何利用Python中的字符串
- 16. 商店字符串,利用活动
- 17. 斯威夫特3利用字符串
- 18. 利用字符串搜索JSON
- 19. Postgres中字符串的字频率?
- 20. 查找字符串中字的概率
- 21. 替换字符串内的字符串
- 22. 字符串内部的Java字符串
- 23. 搜索字符串内的字符串
- 24. HTML字符串内嵌套字符串
- 25. 地图IDictionary <字符串,字符串>与流利NHibernate
- 26. 为本地字符串文字分配内存吗?
- 27. 字符串文字造成小内存泄漏?
- 28. 字符串内部的Java字符串到字符串
- 29. 在字符串中存储字符串
- 30. C++提升字符串的使用率
可能重复的[我们可以避免interning在java中的字符串?](http://stackoverflow.com/questions/5672688/can-av-a-oid-interning-of-strings-in-java) – assylias 2013-02-15 11:02:24