字符串日常开发中,我们经常使用,但是我们往往会忽略他的性能问题,高效的的使用字符串,可以提高整体系统的性能,我们按照下面几个方面说明
Stirng对象如何实现
?...,subString方法会使用new string构造函数,此时会复用char[]数组,我们使用subString方法对一个超大的字符串进行截取一小部分,此时这个subString对应一直被引用,因此超大的字符串就无法进行垃圾回收...,这样就会导致内存泄露
Java9这样为什么这个修改
使用byte[]是为了节省内存空间,char占用2个字节,而byte占用一个字节,而使用coder是在计算字符串长度或使用indexOf时候,判断如何计算长度的...如果没有,在1.6版本中,会把堆中的字符串复制到常量池中,并返回字符串的引用,此时堆中没有指向他的引用,垃圾回收器回收此引用....如果在1.7版本以后,常量池合并到了堆中,此时不会进行复制字符串,会把堆中的字符串引用添加到常量池中.
?
?