OQL是Object Query Language的简写,即对象查询语言,OQL语法和关系型标准查询语言SQL的语法相似,只是增加了比如对象标识、复杂对象、操作、继承、多态性以及联系。
SELECT
1.SELECT * FROM java.lang.String
2.SELECT toString(s), s.count, s.value FROM java.lang.String s (@为属性访问器,可以使用AS起个别名)
3.SELECT AS RETAINED SET * FROM java.lang.String (使用**AS RETAINED SET **获得与选择对象相关联的对象集合)
4.SELECT OBJECTS dominators(s) FROM java.lang.String s (**OBJECTS 关键字使得dominators **返回二维数组简化为一维对象列表)
5.SELECT DISTINCT OBJECTS classof(s) FROM java.lang.String s (**DISTINCT **去重复)
FROM
1.SELECT * FROM "java/.lang/..*" (支持正则)
2.SELECT * FROM java.lang.String
3.SELECT * FROM 0xe14a100 (根据对象在堆转储快照中的地址查询)
4.SELECT * FROM 3022(根据对象在堆转储快照中的地址ID)
5.SELECT * FROM ( SELECT * FROM java.lang.Class c )
6.SELECT * FROM ${snapshot}.getClasses()(使用属性访问器)
7.SELECT * FROM INSTANCEOF java.lang.ref.Reference (**INSTANCEOF **会把指定类的子类也查询出来)
8.SELECT * FROM OBJECTS java.lang.String (**OBJECTS **禁止OQL把查询范围解释为对象实例,上述结果为java.lang.String对应的Class)
WHERE
1.SELECT * FROM java.lang.String s WHERE s.count **>= **100
2.SELECT * FROM java.lang.String s WHERE toString(s) **LIKE *".day"
详情参考:http://help.eclipse.org/kepler/index.jsp,搜索OQL就有相关的内容显示出来