ObjectSpace 在 jruby 中仍然被禁用吗?
Is ObjectSpace still disabled in jruby?
ObjectSpace 在 jruby 9.1.5.0 (2.3.1) 中是否仍然被禁用?
如果不仅仅是我的安装(Arch Linux,最新)有错误,我怀疑 ObjectSpace 在最近的 jruby 中发生了变化:试图重现 [= 中描述的行为11=],我得到以下反应:
$> jruby -O
jruby: unknown option -O
$> jruby -J-Djruby.objectspace.enabled=false
puts ObjectSpace.each_object(Class).inspect
#<Enumerator: ObjectSpace:each_object(Class)>
$> jruby -v
jruby 9.1.5.0 (2.3.1) 2016-09-07 036ce39 Java HotSpot(TM) 64-Bit Server VM 25.102-b14 on 1.8.0_102-b14 +jit [linux-x86_64]
那么最新的情况是怎样的呢?现在安全/推荐在现代 jruby 中使用 OpenSpace 吗?
它没有改变 - 与以前的 JRuby 相同 (1.7.x)
ObjectSpace
(即使禁用)适用于 meta-类 ...它被 Rails 使用并且很容易在 JRuby 中实现而无需性能成本。
ObjectSpace 在 jruby 9.1.5.0 (2.3.1) 中是否仍然被禁用?
如果不仅仅是我的安装(Arch Linux,最新)有错误,我怀疑 ObjectSpace 在最近的 jruby 中发生了变化:试图重现 [= 中描述的行为11=],我得到以下反应:
$> jruby -O
jruby: unknown option -O
$> jruby -J-Djruby.objectspace.enabled=false
puts ObjectSpace.each_object(Class).inspect
#<Enumerator: ObjectSpace:each_object(Class)>
$> jruby -v
jruby 9.1.5.0 (2.3.1) 2016-09-07 036ce39 Java HotSpot(TM) 64-Bit Server VM 25.102-b14 on 1.8.0_102-b14 +jit [linux-x86_64]
那么最新的情况是怎样的呢?现在安全/推荐在现代 jruby 中使用 OpenSpace 吗?
它没有改变 - 与以前的 JRuby 相同 (1.7.x)
ObjectSpace
(即使禁用)适用于 meta-类 ...它被 Rails 使用并且很容易在 JRuby 中实现而无需性能成本。