OQL包中的所有实例

sse*_*ano 2 jvm oql

是否可以OQL检索属于包的所有对象?或者我可以查询wildcards

正如@haridsv建议我试过的:

SELECT * from "com.example.*"
Run Code Online (Sandbox Code Playgroud)

SELECT a from "com\.example\..*"
Run Code Online (Sandbox Code Playgroud)

但在VisualVM其中抱怨没有这样的包裹.

甚至

SELECT a from "java.io.File" a
Run Code Online (Sandbox Code Playgroud)

失败.

谢谢!

ssedano.

har*_*dsv 5

您可以像这样使用正则表达式:

SELECT * from "<packagename>.*"
Run Code Online (Sandbox Code Playgroud)

如果包名称是“java.io”,您将使用:

SELECT * from "java\.io\..*"
Run Code Online (Sandbox Code Playgroud)

请注意正则表达式周围的引号以及路径中的点是如何受到保护的。

  • 我建议 Eclipse MAT 使用 OQL,因为 VisualVM 的 OQL 语法完全不同。如果我错过了清楚地看到您的要求,我深表歉意。 (3认同)

sse*_*ano 5

我在VisualVM OQL帮助中找到了答案.

select filter(heap.classes(), "/com.example./(it.name)")
Run Code Online (Sandbox Code Playgroud)

  • :2 TypeError:/java.awt./不是函数 (2认同)