Java8 字符串重复数据删除和 jruby - 没有效果?
Java8 string deduplication and jruby - no effect?
我正在试验 java8 字符串重复数据删除,遗憾的是我无法创建一个 jruby 程序来演示启用 java 重复数据删除如何帮助 jruby (1.7.19)。
问题:
jruby 是否利用了 java8 字符串去重功能? jruby 有专门的选项吗?
是否有示例程序可以说明 jruby 运行 -J-XX:+UseStringDeduplication
比没有此选项的 jruby 更好?
JRuby 的 (Ruby) 字符串(org.jruby.RubyString
的实例)对象与 java.lang.String
不同......因此重复数据删除不会生效在你的 Ruby 字符串上。 org.jruby.util.ByteList
(Ruby 字符串内部)的内部表示是 byte[]
,而重复数据删除适用于 char[]
数组(Java 字符串的内部)。
在 JRuby 上没有针对此的特殊标志,它仍然可能有一些影响,因为 String 实例(尽管主要是 interned,例如 Ruby 方法名称)在内部使用 - 这有多难不尝试就告诉你(但如果它实际上很多,它可能被认为是一个错误)。
我正在试验 java8 字符串重复数据删除,遗憾的是我无法创建一个 jruby 程序来演示启用 java 重复数据删除如何帮助 jruby (1.7.19)。
问题:
jruby 是否利用了 java8 字符串去重功能? jruby 有专门的选项吗?
是否有示例程序可以说明 jruby 运行
-J-XX:+UseStringDeduplication
比没有此选项的 jruby 更好?
JRuby 的 (Ruby) 字符串(org.jruby.RubyString
的实例)对象与 java.lang.String
不同......因此重复数据删除不会生效在你的 Ruby 字符串上。 org.jruby.util.ByteList
(Ruby 字符串内部)的内部表示是 byte[]
,而重复数据删除适用于 char[]
数组(Java 字符串的内部)。
在 JRuby 上没有针对此的特殊标志,它仍然可能有一些影响,因为 String 实例(尽管主要是 interned,例如 Ruby 方法名称)在内部使用 - 这有多难不尝试就告诉你(但如果它实际上很多,它可能被认为是一个错误)。