我正在研究java 应用程序的性能调优,并使用OQL执行以下查询:
select tpoint.host.value.toString() from sun.rmi.transport.tcp.TCPEndpoint tpoint
where (tpoint.host!=null && tpoint.csf!=null)上面的查询成功地在JVisualVM上编译,有一些记录,后面跟着这个错误:-
结果太多了。请精炼你的查询。
相同的查询在Eclipse中无法执行。
之后,从Eclipse-MAT.中删除&& tpoint.csf!=null,它在above query中编译得很好。而且,与相比,和JVisualVM相比花费的时间要少得多,并显示所有记录。
我无法找到在Eclipse中使用&& operator的正确语法。
面对困难的时候,寻找良好的OQL折射为Eclipse-MAT,,良好的参考受到赞赏。
提前谢谢..。
发布于 2012-06-27 05:28:47
与JVisualVM OQL在句法上存在差异.
在编写此答案时,可以使用JVisualVM OQL (AFAIK)编写比MAT-Eclipse更复杂的查询。
唯一的缺点是,JViualVM查询的响应时间非常长,并且响应不包括所有记录。
如果MAT开发人员在帮助内容中提供MAT OQL查询(groupby、子查询、字符串操作操作符)的良好文档,那就太棒了。
发布于 2012-07-19 05:09:29
您可以使用‘和’来执行组合查询,而不是&& operator。似乎垫子只支持‘’和‘’或‘不’,不‘&’‘\ '^’。
下面是MAT中工作的OQL查询。
SELECT tpoint.host.value.toString() FROM sun.rmi.transport.tcp.TCPEndpoint tpoint WHERE ((tpoint.host != null) and (tpoint.csf != null))https://stackoverflow.com/questions/11209355
复制相似问题