OQL可以用来查询jvm堆中对象信息 将jvm堆dump下了的命令可见:https://www.yuque.com/zhqy/java/xlv2yg#469b7b22 单位:byte(B)
示例代码
package com.zhqy.oql;import org.apache.commons.lang.StringUtils;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;/*** <h3>测试OQL语法</h3>** @author zhqy* @version 1.0.0* @CreateDate 2019/7/23*/public class OqlMain {private List<String> nameList = new ArrayList<>();private List<Person> personList = new LinkedList<>();private String[] titles = new String[]{"吃货", "胖砸", "美女", "帅哥"};public void init(){nameList.add("张三");personList.add(new Person(nameList.get(0), 40, StringUtils.join(new String[]{titles[0], titles[1]}, ",")));nameList.add("李四");personList.add(new Person(nameList.get(1), 20, StringUtils.join(new String[]{titles[0], titles[3]}, ",")));nameList.add("美女");personList.add(new Person(nameList.get(0), 23, StringUtils.join(new String[]{titles[2]}, ",")));}}class Person{private String name;private int age;private String titles;public Person(String name, int age, String titles) {this.name = name;this.age = age;this.titles = titles;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getTitles() {return titles;}public void setTitles(String titles) {this.titles = titles;}}
查看对象

select * from com.zhqy.oql.OqlMain
查看对象中某一个属性
此时直接在需要查看的属性上右击,选择“copy”->“OQL Query”即可
SELECT * FROM OBJECTS 197769

查看list的元素数量
SELECT s.size FROM OBJECTS 197769 s

根据类名查询
正则
SELECT * FROM ".*pool.*"
where条件
SELECT * FROM java.lang.Thread s where toString(s) LIKE ".*elastic.*"

