是否可以在OQL
中检索属于包的所有对象?或者我可以使用wildcards
查询吗?
正如@haridsv建议我尝试的那样:
SELECT * from "com.example.*"
和
SELECT a from "com\.example\..*"
但在VisualVM
中它抱怨没有这样的包。
即使
SELECT a from "java.io.File" a
失败。
谢谢!
ssedano。
答案 0 :(得分:5)
我在VisualVM OQL help找到了答案。
select filter(heap.classes(), "/com.example./(it.name)")
答案 1 :(得分:4)
你可以使用这样的正则表达式:
SELECT * from "<packagename>.*"
如果包名是“java.io”,您将使用:
SELECT * from "java\.io\..*"
请注意正则表达式周围的引号以及路径中的点如何受到保护。
答案 2 :(得分:0)
从VisualVM受限文档中:
select filter(heap.classes(), "/java.net./.test(it.name)")
https://visualvm.github.io/documentation.html
诀窍在“ test(it.name)”中