문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:memory:oql [2013/09/17 16:19] kwon37xi |
java:memory:oql [2013/09/17 16:35] (현재) kwon37xi [Object Address 를 검색 조건으로 검색] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== OQL Object Query Language ====== | ====== OQL Object Query Language ====== | ||
* [[java: | * [[java: | ||
+ | * OQL은 프로그램마다 다르다. 여기서는 [[java: | ||
===== 문자열비교 ===== | ===== 문자열비교 ===== | ||
줄 7: | 줄 8: | ||
< | < | ||
SELECT * FROM Person p WHERE toString(p.name) = " | SELECT * FROM Person p WHERE toString(p.name) = " | ||
+ | // 혹은 | ||
+ | SELECT * FROM Person p WHERE p.name.@toString() = " | ||
</ | </ | ||
===== Object Address 를 검색 조건으로 검색 ===== | ===== Object Address 를 검색 조건으로 검색 ===== | ||
- | * 먼저 16진수로 된 주소를 10진수로 바꾼다. [[linux: | + | 어떤 해시맵의 값(value)의 레퍼런스가 해당 주소인 것으로 검색하고자 한다면, '' |
- | printf " | + | |
- | </ | + | < |
- | * 그리고서 | + | |
// 해시맵 Entry 구현체는 달라질 수 있다. | // 해시맵 Entry 구현체는 달라질 수 있다. | ||
- | SELECT * FROM java.util.concurrent.ConcurrentHashMap$HashEntry he WHERE toString(he.value.@objectAddress) = "10진수로바꾼값" | + | SELECT * FROM java.util.concurrent.ConcurrentHashMap$HashEntry he |
+ | WHERE toHex(he.value.@objectAddress) = "16진수주소값" | ||
</ | </ | ||
===== 참조 ===== | ===== 참조 ===== | ||
+ | * [[http:// | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
- | * [[http:// | ||
* [[http:// | * [[http:// | ||