Tag: oql

如何在MAT Eclipse中使用OQL进行嵌入式查询

我可以使用查询获取所有Thread对象,如下所示 SELECT OBJECTS dominators(s) FROM java.lang.Thread s 那么如果我想对返回的结果对象进行进一步的分析,我认为OQL应该如下所示: SELECT * from (SELECT OBJECTS dominators(s) FROM java.lang.Thread s) 但它转向ClassCastException。 Problem reported: ClassCastException occured. Remember: sub queries with the modifier INSTANCESOF or INCLUDING SUBCLASSES must return only class objects java.lang.ClassCastException: org.eclipse.mat.parser.model.InstanceImpl cannot be cast to org.eclipse.mat.snapshot.model.IClass at org.eclipse.mat.parser.internal.oql.OQLQueryImpl.doSubQuery(OQLQueryImpl.java:752) at org.eclipse.mat.parser.internal.oql.OQLQueryImpl.internalExecute(OQLQueryImpl.java:642) at org.eclipse.mat.parser.internal.oql.OQLQueryImpl.execute(OQLQueryImpl.java:627) at org.eclipse.mat.inspections.OQLQuery.execute(OQLQuery.java:50) at org.eclipse.mat.inspections.OQLQuery.execute(OQLQuery.java:1) at […]

VisualVM OQL:如何搜索原始浮点值而不是实际的浮点数实例?

我想知道如何搜索匹配特定数字的所有原始浮点值。 在做类似的事情时: select n from java.lang.Float n where n.value == 1.00 只找到Float类实例。 我正在探索的应用程序使用的不同包装器不仅仅是Float(例如,Vectors),它使用原始浮点值作为我需要搜索的字段。 我怎么做到这一点? 以下返回“找不到浮动错误”: select n from float n where n.value == 1.00

增加jvisualVM OQL结果集的最大大小

我有一个内存转储文件,它有近5000个特定对象的实例。 这些对象将被写入数据库,我这样做的方法是在jvisualvm中编写一个OQL查询,以生成一个字符串,用作SQL插入,例如 select “insert into trades (id, tradeNumber) values (“+ x.id+ “, ” + x.tradeNumber +”);” from com.test.application.TradeObject x; 当我通过OQL运行时,我得到一个这样的结果集 – insert into trades (id, tradeNumber) values (1,12345); insert into trades (id, tradeNumber) values (2,123456); insert into trades (id, tradeNumber) values (3,123457); 等等 但是,由于实例总数很大(大约5000),JvisualVM只显示其中的大约100个。 然后出现错误消息“结果太多。请优化您的查询。” 我无法优化查询,因为我必须以这种方式解析所有实例。 有没有办法可以让JvisualVM向我显示所有实例而不限制结果数量? 我还看到Jvisual vm显示了没有任何filter的前100个实例,是否可以通过OQL查询获得接下来的100个实例等等? 谢谢