我最近在阅读 JRE 6 [ Java VM Options ] 中可用的所有 JVM 参数,并看到了这个:
-XX:+StringCache :启用常用分配字符串的缓存。
现在我一直认为 Java 保留了一个实习(正确的词?)字符串池,并且在使用文字进行字符串连接之类的操作时,它不是创建新对象,而是将它们从该池中拉出。有没有人使用过这个论点,或者可以解释为什么需要它?
编辑:我试图运行一个基准测试,看看这个参数是否有任何影响,并且无法让 Sun JVM 识别它。这是与:
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode,
sharing)
所以我不确定这个论点是否有效。