我最近在阅读 JRE 6 中所有可用的 JVM 参数[Java VM Options],并发现了这个:
-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)
所以我不确定这个参数是否有效。