Java String.intern()相关
2014-04-19 23:28
148 查看
为了节约内存,java String中内置intern方法,保留String的弱引用哈希表。在Java 6中这个表放在永久代,永久代的内存配置很固定,而且pool size不可配置,不方便。
升级到java7之后,可以使用-XX:StringTableSize(默认1009)设置pool size(为了性能应使用素数)。从参考资料看,只要pool size够大,性能是很不错的。而且相比自己手工写的string pools,jdk的string pooling使用内存极少(-Xmx1280M支持12.72M字符串,自己写的只有不到1/5)。
Jdk8中仅仅默认pool size调到25-50K.
参考:
http://java-performance.info/string-intern-in-java-6-7-8/
升级到java7之后,可以使用-XX:StringTableSize(默认1009)设置pool size(为了性能应使用素数)。从参考资料看,只要pool size够大,性能是很不错的。而且相比自己手工写的string pools,jdk的string pooling使用内存极少(-Xmx1280M支持12.72M字符串,自己写的只有不到1/5)。
Jdk8中仅仅默认pool size调到25-50K.
参考:
http://java-performance.info/string-intern-in-java-6-7-8/
相关文章推荐
- Java String.intern(相关)
- Java String intern方法介绍
- java中的String之intern()
- java-String中intern()的详解
- JAVA的String中intern的方法
- java String中的intern方法
- Java记录 -27- String的intern方法
- java-String中的 intern方法
- Java中String字符编码(CharSet)转换的相关问题
- Java中String.intern()方法详解
- Java核心技术及面试指南 2.3.6 String相关的面试题答案
- java中字符串操作string、stringBuffer和stringBuilder的区别以及其相关操作技术
- Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
- java-String中的 intern()
- 灰太狼大王讲java之String intern()
- java-String中的 intern()
- InternString.java
- Java堆、栈和常量池以及相关String的详细讲解
- 通过反编译深入理解Java String及intern
- 通过反编译深入理解Java String及intern