对JAVAString字符串处理

在J2ME里处理大概1000多个字左右。刚开始,没意识到JAVA虚拟机对不同字的处理方式。很简单的以为只要一个String够字数(1000左右)效果和不相同的字组成的串效果是一样。可是自己偏偏就错了。结果是我对相同的字,重复重复到1000左右。我substring 和 substringWidth 效率完全看不出来很慢。但是如果都是不同的字。效率就慢的来无法忍受。刚开始还一直以为是特殊字符的原因,去除之后还是一样。最后,我意识到是不同字的原因。难道JAVA在处理字符的时候,做了相同字的优化。比如:

new String("好");  对"好"已经分配了内存

new String("好好"); 共享"好"内存。无论这里好有多少,其实都是共享的一个内容。

你可能感兴趣的:(java,虚拟机)