일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- PKCS#8
- 암호학
- mac
- Freemaker
- Executor
- JCE
- 한글조사처리
- 한글조사
- 이클립스 플러그인 개발
- xlet
- Log4J
- StringUtils
- Instrumentation
- Java
- date
- 자바 암호화
- 자바
- Callable
- sha1
- RSA
- AES
- Executors
- Runnable
- ORM
- ACAP
- PKCS
- IPTV
- DAMO
- Postman
- String
- Today
- Total
목록Instrumentation (2)
오늘은 어디로 갈까...
삽질하다가 전혀 엉뚱한것을 발견(?) ^^; 그놈의 정체는 JPDA(Java Platform Debugger Architecture) http://java.sun.com/javase/technologies/core/toolsapis/jpda/ 이클립스의 디버그 모드는 가끔 사용하기는 하지만, 이게 API로 제공되고 있을줄이야... ^^; com.sun.jdi 패키지인데, tools.jar에 포함되어 있다. 본론(?)으로 돌아가서, Javarebel은 어떻게 돌아가는지 파악하는데 또다시 실패했으나, Instrumentation의 redefineClasses() 메소드를 이용해서, 아주 간단하게 클래스를 변경하는 방법을 테스트해본것에 대해서 만족을..... ^^; 여러가지 제약사항이 존재하기는 하나, 추가/..
JavaRebel은 변경 사항들을 "on-the-fly" 방식으로 재로딩가능하게 한다~~~고 한다. ^^; 어떤 원리로 작동하는지 궁금해서 그 비밀을 파헤쳐보려고 했으나, 내공 부족으로 실패... 다음을 기약하며, 그 흔적을 남긴다. 1.4는 무시해버리고, 1.5를 기준으로 파보았다. 일단 시작은, JDK 1.5부터 지원하는 java.lang.instrument 패키지를 이용해서 Agent를 실행시킨다. 자바를 실행할때 -javaagent를 옵션을 줘서 실행하면, 해당 Agent를 실행시킬 수 있다. java -javaagent:agent.jar=args TestMain 이 Agent Class는 일반적인 어플리케이션의 진입 포인트(Entry Point)인 main() 메소드처럼, premain()이란 ..