사용자 도구

사이트 도구


java:memory:oql

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:memory:oql [2013/09/17 15:55]
kwon37xi [참조]
java:memory:oql [2013/09/17 16:35] (현재)
kwon37xi [Object Address 를 검색 조건으로 검색]
줄 1: 줄 1:
 ====== OQL Object Query Language ====== ====== OQL Object Query Language ======
   * [[java:visualvm|Java VisualVM]]이나 [[java:memory:mat|Java Memory Analyzer(MAT)]] 등에서 Heap dump에 있는 객체를 가져오는 쿼리 언어.   * [[java:visualvm|Java VisualVM]]이나 [[java:memory:mat|Java Memory Analyzer(MAT)]] 등에서 Heap dump에 있는 객체를 가져오는 쿼리 언어.
 +  * OQL은 프로그램마다 다르다. 여기서는 [[java:memory:mat|Java Memory Analyzer(MAT)]]의 OQL을 정리한다.
 +
 +===== 문자열비교 =====
 +  * 어떤 레퍼런스가 비록 문자열이라도 OQL에서 문자열 비교를 하고자 한다면 ''toString(값)''으로 감싸야한다.
 +
 +<code>
 +SELECT * FROM Person p WHERE toString(p.name) = "blah.. blah.."
 +// 혹은
 +SELECT * FROM Person p WHERE p.name.@toString() = "blah.. blah.."
 +</code>
 +
 +===== Object Address 를 검색 조건으로 검색 =====
 +어떤 해시맵의 값(value)의 레퍼런스가 해당 주소인 것으로 검색하고자 한다면, ''.@objectAddress''를 사용하여
 +
 +<code>
 +// 해시맵 Entry 구현체는 달라질 수 있다.
 +SELECT * FROM java.util.concurrent.ConcurrentHashMap$HashEntry he
 +WHERE toHex(he.value.@objectAddress) = "16진수주소값"
 +</code>
  
 ===== 참조 ===== ===== 참조 =====
 +  * [[http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Ftasks%2Fqueryingheapobjects.html|MAT Querying Heap Objects]]
   * [[http://visualvm.java.net/oqlhelp.html|Analyzing a Heap Dump Using Object Query Language (OQL) — Project Kenai]]   * [[http://visualvm.java.net/oqlhelp.html|Analyzing a Heap Dump Using Object Query Language (OQL) — Project Kenai]]
   * [[https://blogs.oracle.com/sundararajan/entry/querying_java_heap_with_oql|Querying Java heap with OQL (A. Sundararajan's Weblog)]]   * [[https://blogs.oracle.com/sundararajan/entry/querying_java_heap_with_oql|Querying Java heap with OQL (A. Sundararajan's Weblog)]]
-  * [[http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Ftasks%2Fqueryingheapobjects.html|MAT Querying Heap Objects]] 
   * [[http://cseweb.ucsd.edu/classes/wi00/cse132a/oql.htm|O2 Tutorial]]   * [[http://cseweb.ucsd.edu/classes/wi00/cse132a/oql.htm|O2 Tutorial]]
  
  
java/memory/oql.1379400920.txt.gz · 마지막으로 수정됨: 2013/09/17 15:55 저자 kwon37xi