在 OQL 下执行时,它给出TypeError: [RegExp /java.lang./] is not a function
select filter(heap.classes(), "/java.lang./(it.name)")
那应该工作吗?引用包中的所有实例的 OQL
另外,我可以知道 OQL 是否是分析堆转储的“标准”吗?
在 OQL 下执行时,它给出TypeError: [RegExp /java.lang./] is not a function
select filter(heap.classes(), "/java.lang./(it.name)")
那应该工作吗?引用包中的所有实例的 OQL
另外,我可以知道 OQL 是否是分析堆转储的“标准”吗?
看起来:
select filter(heap.classes(), "/java.lang./.exec(it.name)")
作品。我的 OQL-foo 不是那么强大,但我冒险猜测它与Javascript 错误正则表达式而不是函数有关?.
我似乎能够在 Java 8(使用 Nashorn)上重现该问题,但不能在 Java 7 或更低版本(使用 Rhino)上重现。这是有道理的,因为 Nashorn 实现了 RegExp 不是函数的 ES5 行为,而 Rhino 实现了旧的 Mozilla 行为,它在哪里。